声明:本人的所有博客皆为个人笔记,作为个人知识索引使用,因此在叙述上存在逻辑不通顺、跨度大等问题,希望理解。分享出来仅供大家学习翻阅,若有错误希望指出,感谢!
HTTP2.0
HTTP2.0大幅度的提高了web性能,在HTTP1.1完全语义兼容的基础上,进一步减少了网络的延迟。实现低延迟高吞吐量
- 二进制分帧
- 首部压缩
- 多路复用
- 请求优先级
- 服务器推送
HTTP/2是HTTP协议自1999年HTTP1.1发布后的首个更新,主要基于SPDY协议
二进制分帧
在不改变HTTP1.x的语义、方法、状态码、URL以及首部字段的情况下,HTTP2.0突破HTTP1.1的性能限制,改进传输性能,实现低延迟高吞吐量的关键就是在应用层(HTTP)和传输层(TCP)之间增加一个二进制分帧层
帧:HTTP2.0通信的最小单位,所有帧都共享一个8字节的首部,其中包含帧的长度、类型、标志、还有一个保留位,并且至少有标识出当前帧所属的流的标识符,帧承载着特定类型的数据,如HTTP首部、负荷、等等
消息:比帧大的通讯单位,是指逻辑上的HTTP消息,比如请求、响应等。由一个或多个帧组成
流:比消息大的通讯单位。是TCP连接中的一个虚拟通道,可以承载双向的消息。每个流都有一个唯一的整数标识符
HTTP2.0中所有加强性能的核心是二进制传输,在HTTP1.x中,我们是通过文本的方式