CS-Notes/notes/笔记/HTTP+.md.txt
2018-02-22 14:47:22 +08:00

30 lines
1.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 各个 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 采用二进制格式。