- HTTP/0.9
- 他只允许发送GET请求
- HTTP/1.0(并不是一个"标准",只是记录已有实践和模式的一份参考文档,不具有实际的约束力)
- 增加了HEAD,POST等新方法
- 增加了响应状态码,标记可能的错误原因
- 引入了协议版本号概念
- 引入了HTTP Header(头部的概念),让HTTP请求和响应更加灵活
- 传输的数据不再仅限于文本
- HTTP/1.1
- 增加了PUT,DELETE等新方法
- 增加了缓冲管理和控制
- 明确了连接管理,允许持久连接
- 允许响应数据分块(chunked),利于传输大文件
- 强制要求Host头,让互联网主机托管成为可能
- HTTP/2
- 二进制协议,不再是纯文本
- 可发起多个请求,废弃了1.1里面的管道
- 使用专有算法压缩头部,减少数据传输量
- 允许服务器主动向客户端推送数据
- 增强了安全性,"事实上"要求加密通信
- HTTP/3
- Google继HTTP/2基础上又开发了一个HTTP/3,是基于QUIC协议的,暂时还没普及