HTTP 2.0协议
http2.0升级方面
1.改进http传输性能,实现低延迟和高吞吐量;同时满足http语义的向下兼容。
2.相对http1.1,满足大多数情况下用户的感知时延有实质、可量度的改进
3.解决http的 “队首阻塞”问题
4.并行操作不需要与服务器建立多个连接,改善tcp的利用率
5.保持对http1.1语义的兼容
6.规定http2.0与http1.x之间的交互
7.明确所有的新的可扩展机制和适当的扩展策略
http2.0设计目标
http2.0通过支持首部字段压缩和同一连接上发送多个并发消息,使得应用更有效地利用网络资源,减少感知的延时。同时,支持服务器到客户端的主动推送。
http2.0设计实现
1.二进制分帧层
http2.0进行二进制分帧,封装http消息并在客户端和服务端之间进行传输;帧是http2.0传输的基本单位,http2.0将所有传输的信息分割成更小的消息和帧,并使用二进制进行编码。http2.0将交互抽象成流(stream)、消息(message)和帧(frame)的组合。
- http2.0所有的帧使用二进制编码,所有的首部数据会被压缩
- 对于同一个客户端所有的通信均建立在一个tcp连接
- http协议通信化为帧,帧对应逻辑流中的消息;很多流可以并行在同一个tcp连接上交换消息
具体语义:
流:连接的虚拟信道,具备双工的特性;每一个流具备唯一的整数标识符。消息:逻辑上的http消息,请求响应等等,有一或多个帧组成;
帧:h