首页 > 技术文章 > http协议基础知识

xuanan 2017-08-18 10:29 原文

一、http协议简介  

  1、http协议概述

    http协议全称超文本传输协议(HyperText Transfer Protoco),是基于tcp协议的一个应用层协议。主要是定义客户端和服务器端之间交换数据的过程。

  2、http协议版本

    1、版本1.0 :一次请求结束断开连接

    2、版本1.1:一次请教结束之后暂时不断开,下次请求复用连接,如果超过规定时间就会断开链接

  3、http协议请求的基本原则

    1、请求响应模型:有请求才有响应,先请求后响应。

    2、一次请求一次响应,之后才会断开链接。

    3、请求只能由客户端主动发出,服务器端被动响应。

二、http协议工作过程(得到的数据必须是一次请求一次响应的共同数据)

  1、Http标头信息(主要分为三部分)  

    1、第一部分

      1、请求路径 url统一资源定位符

      2、请求方式 get或者post

      3、状态码  
    2、第二部分

    1、若干请求头部信息
        Accept: text/html  */*           浏览器可以接受的数据类型 所有数据类型
        Accept-Encoding: gzip, deflate       浏览器可以接受的压缩方式
        Accept-Language: zh-CN               浏览器可以识别的语言 
        Connection: Keep-Alive               浏览器的版本信息因为连接断开后是保持连接状态所以判定该浏览器是1.1版本    
        Host: localhost:8080                本次请求的主机名称 端口号
        User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063
                                        浏览器的具体信息与操作系统的判断
          Cache-Control: no-cache           控制是否显示缓存的请求头
          Content-Type: application/x-www-form-urlencoded 表单的请求类型

        Referer: http://localhost:8080/postLogin.html          防盗链,使用Referer 取到从哪里过来的界面,判断是否是我自己的官网--引导到我的主界面
        
        2、get请求方式特征:(http://localhost:8080/ ?username=zhangsan&password=123)
        对于get请求,请求参数放到地址栏后边
        对于get请求,请求不安全(请求参数明文传输)
        对于get请求,请求参数的大小在1kb之内(有的浏览器请求大小在2k之内)
        对于get请求,请求的正文没有任何东西

      3、post请求方式特征:(http://localhost:8080)
              对于post请求,请求参数写在请求正文中 username=lisi&password=123
              对于post请求,请求安全
              请求参数大小没有限制 

      4、Http响应状态码
                  200  请求成功
                  404  请求资源不存在(一般是访问路径错误)
                  500  服务器错误(一般是自己写的代码错误)
                  302  请求重定向
                  304/307 使用了缓存 静态web资源
    3、第三部分请求体信息

  
    

 

推荐阅读