HTTP/0.9
结构比较简单,为了便于服务器和客户端处理,采用了纯文本格式,设计者认为文档都是只读的,所以只允许用GET
获取HTML文档,并且在相应请求之后立即关闭连接。
- 纯文本
- GET请求
- 短连接
HTTP/1.0
- 增加了HEAD、POST新方法
- 增加了相应状态码
- 引入了协议版本号
- 引入了HTTP Header(头部)的概念
- 传输数据不再仅限于文本
- 图像、音乐
HTTP/1.1
- 新增加了PUT、DELETE等方法
- 增加了缓存管理和控制
- 明确了连接管理,允许持久连接
- connect:keep-alive
- 允许相应数据分块(chunked),利于传输大文件
- 强制要求Host头,让互联网主机托管成为可能
- 指定请求服务器的域名/IP地址和端口号
HTTP/2
Google的推出的SPDY为基础指定新版本HTTP协议
- 二进制协议,不再是纯本文
- 可发起多个请求,废弃了1.1里的管道
- 使用专用算法压缩头部,减少数据传输量
- 允许服务器主动向客户端推送数据
- 增强了安全性,**”事实上“**要求加密通道
HTTP/3
Google在HTTP/2起草之时,又发明了一个新的协议,QUIC,2018年获得批准,进入标准化指定阶段,也许之后会跳过HTTP/2直接进入HTTP/3。