HTTP 0.9 和 HTTP 1.0

  1. HTTP 0.9 只有一个简单的get方法,没有首部,设计目标就是为了获取HTML(没有图片,只有文本)

  2. HTTP 1.0 是 0.9版本的一个完善,包含了:

    • 首部
    • 响应码
    • 重定向
    • 内容编码
    • 更多请求方法

HTTP 1.1

  1. 引入的持久链接,即TCP连接默认不关闭,可以被多个请求复用;

  2. 加入了管道机制,允许在一个TCP连接里面同时发送多个请求,增加了并发;

  3. 但是服务器只能顺序处理请求,造成“队头阻塞”

  4. 增加了新的请求方式PUT、PATCH、OPTIONS等

  5. 客户端请求增加了HOST字段

HTTP 2.0

  1. 不用按顺序一一回复请求,避免了“队头阻塞”

  2. 允许服务器未经请求,主动向客户端发送请求,即服务器推送

  3. 头部和数据体都是二进制,称为头信息帧和数据帧

  4. 引入头信息压缩机制,头信息使用gzip或compress压缩后发送,客户端和服务器同时维护一张头信息表,所有字段都会存入表中,生成一个索引号,不发送同样字段只发送索引号提高速度