与http1.1相比http2.0的优势

723 阅读1分钟

http2.0与http1.1相比有如下优势

可在https://http2.golang.org/gophertiles?latency=30下对比http1与http2的区别。

1. 多路复用 (Multiplexing)

多路复用允许同时通过一个http连接发起多个的请求-响应消息。

由上图可见所有请求有相同的connect id

2. 首部压缩

HTTP2.0使用HPACK算法对header的数据进行压缩,这样数据体积小了,在网络上传输就会更快。

3. 二进制格式

HTTP1.x的解析是基于文本。基于文本协议的格式解析存在天然缺陷,文本的表现形式有多样性,要做到健壮性考虑的场景必然很多,二进制则不同,只认0和1的组合。基于这种考虑HTTP2.0的协议解析决定采用二进制格式,实现方便且健壮。

4. 支持服务器推送

服务器可以在同一TCP连接中将客户端未请求的数据同原始请求的数据一同发送过来,一个请求多个响应,在多路复用的基础上又减少了客户端请求的时间。下图可见在initialtor列显示为push