HTTP2.0
HTTP2.0新特性
1.新的二进制格式(Binary Format)
虽然看上去协议的格式和http1.x完全不同了,实际上http2.0并没有改变http1.x的语义,只是把原来http1.x的header和body部分用frame重新封装了一层而已。
2.连接共享
http2.0要解决的一大难题就是多路复用(MultiPlexing),即连接共享。上面协议解析中提到的stream id就是用作连接共享机制的。一个request对应一个stream并分配一个id,这样一个连接上可以有多个stream,每个stream的frame可以随机的混杂在一起,接收方可以根据stream id将frame再归属到各自不同的request里面。
因此 HTTP/2 可以很容易的去实现多流并行而不用依赖建立多个 TCP 连接。
3.服务端推送(Server Push)
http2.0能通过push的方式将客户端需要的内容预先推送过去,所以也叫“cache push”。
4.header压缩
前面提到过http1.x的header由于cookie和user agent很容易膨胀,而且每次都要重复发送。http2.0使用encoder来减少需要传输的header大小,通讯双方各自cache一份header fields表,既避免了重复header的传输,又减小了需要传输的大小。高效的压缩算法可以很大的压缩header,减少发送包的数量从而降低延迟。
链接:https://www.zhihu.com/question/34074946/answer/108588042