HTTP协议发展史

90 阅读1分钟

HTTP协议发展史

一、HTTP/0.9

  • HTTP协议原型
  • 设计缺陷
  • 只支持GET方法
  • 不支持多媒体内容
  • 只有HTML对象

二、HTTP/1.0

  • 广泛使用
  • 增加多种方法
  • 支持多媒体对象
  • 无连接、无状态
  • ......

三、HTTP/1.1

  • 长连接
  • 管道化
  • 缓存处理
  • 断点传输
  • ......

3.1 keep-alive(长连接)

使用持久连接,一次连接完成多次请求和响应

image.png

image.png

很明显:时间和效率都有很大的提升

四、HTTP/2.0

  • 性能进一步提升
  • 二进制分帧
  • 多路复用
  • 首部压缩
  • 服务器推送

4.1 多路复用

在一个信道上传输多路信号或者数据流的过程和技术 通信运营商可以避免维护多条线路,从而有效地节约运营成本

  • 二进制分帧是基础,通信单位是帧(不再是数据报文)
  • 多请求并不依赖多TCP连接
  • 并行在一个TCP连接交互多种类型信息

4.2 服务器推送

  • GET/index.html HTTP/1.1
  • GET/style.css HTTP/1.1
  • GET/script.js HTTP/1.1

多路复用与服务器推送的实例

image.png

4.3 头部压缩

  1. 使用Huffman code(哈夫曼编码),静态表格压缩对应的字符串
  2. 使用数字"2"代表"method: GET"

image.png