30 lines
1.4 KiB
Plaintext
30 lines
1.4 KiB
Plaintext
# 各个 HTTP 版本的对比
|
||
|
||
1997 年 1 月公布的 HTTP/1.1 是目前主流的 HTTP 协议版本。HTTP/2 标准于 2015 年 5 月以 RFC 7540 正式发表。HTTP/2 的标准化工作由Chrome、Opera、Firefox、Internet Explorer 11、Safari、Amazon Silk 及 Edge 等浏览器提供支持。多数主流浏览器已经在 2015 年底支持了该协议。此外,根据 W3Techs 的数据,在 2017 年 5 月,在排名前一千万的网站中,有 13.7% 支持了 HTTP/2。
|
||
|
||
## HTTP/1.0 与 HTTP/1.1 的区别
|
||
|
||
- HTTP/1.1 默认是长连接;
|
||
- HTTP/1.1 提供了范围请求功能;
|
||
- HTTP/1.1 提供了虚拟主机的功能;
|
||
- HTTP/1.1 多了一些缓存处理字段;
|
||
- HTTP/1.1 多了一些状态码;
|
||
|
||
## HTTP/1.1 与 HTTP/2.0 的区别
|
||
|
||
**多路复用**
|
||
|
||
HTTP/2.0 使用多路复用技术,即使用同一个 TCP 连接来处理多个请求。
|
||
|
||
**首部压缩**
|
||
|
||
HTTP1.1 的首部带有大量信息,而且每次都要重复发送,HTTP/2.0 要求通讯双方各自缓存一份首部字段表,从而避免了重复传输。
|
||
|
||
**服务端推送**
|
||
|
||
在客户端请求一个资源时,会把相关的资源一起发送给客户端,客户端就不需要再次发起请求了。例如客户端请求 index.html 页面,服务端就把 index.js 一起发给客户端。
|
||
|
||
**二进制格式**
|
||
|
||
HTTP1.1 的解析是基于文本的,而 HTTP2.0 采用二进制格式。
|