HTTP 1.1和HTTP 2.0有什么区别?[关闭]


223

HTTP / 1.1在Web上已经服务了15多年,但是它的年龄正在开始显现。

谁能解释HTTP 1.1和2.0之间的主要区别是什么?

传输协议是否有变化?



1
该视频很好地谈论了这些话题youtube.com/watch?v=0L5Q_897fwk
古吉拉特邦桑塔纳

tools.ietf.org/html/rfc7540的 “简介”部分是HTTP 1.1和HTTP 2.0之间差异的最纯净,最好的来源
bayCoder

Answers:



87

HTTP 2.0是一种二进制协议,可对通过单个(通常经过TLS加密的)TCP连接上的大量流进行多路复用。

每个流的内容都是HTTP 1.1请求和响应,只是编码和打包方式有所不同。HTTP2添加了许多功能来管理流,但是保留了旧的语义。


41
TLS加密不是可选的。该协议可能是可选的,但在现实世界中不是。如果没有https,Chrome和其他浏览器将不接受http2。因此,在现实世界中,如果在服务器上未安装证书的情况下启用了http2,则浏览器将仅与http1连接。
帕特里克·柯林斯

@PatrickCollins实际上,浏览器将使用HTTP2连接,但只会启动二进制数据包流的下载。他们只是不知道如何在没有SSL的情况下显示HTTP2内容。
Avamander '17

3
这个结论误导了http / 2只是打包和编码http / 1.1请求的说法。有特定的区别。例如,标题与正文/有效载荷分开发送。此外,标头格式也略有变化-在http / 1.x中,方法,uri,响应代码和协议版本在第一行(称为请求行)中传递。Http / 2引入了psuedoheader的概念,该概念放置在所有其他标头之前,并带有a前缀:以处理这些方面,但协议版本除外,该协议版本在http / 2中没有等效项。
Erikest

2
此外,尽管标头不区分大小写,但协议要求以小写形式传输。
Erikest
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.