[http] 有关http2的主要知识点整理
2021-03-22 17:24
标签:blog 帧结构 格式 解决 利用 alt inf 相同 flags [classic_tong @ https://www.cnblogs.com/hugetong/p/12694322.html] 为了解决HTTP1的性能问题,HTTP2出现了。 1. 半双工的。请求与回应一来一回,彼此等待对方到底。 2. 不能并发,一个TCP隧道只能处理一个 请求回应 队列。 3. 隧道利用率低。大部分TCP连接,握手之后只通讯一次就结束了。 1. 在传输层与应用层直接,增加分帧层。 2. 增加流控制。 3. 增加服务器推送。 4. 增加头压缩。 1 分帧层使半双工变成了全双工。 2 分帧层在传输层之上实现了多条全双工隧道。 3 隧道支持优先级。 为了实现多个全双工隧道的功能,引入以下三个概念: 1. 流 stream 2. 消息 message 3. 帧 frame 参考: https://developers.google.com/web/fundamentals/performance/http2?hl=zh-cn 应用层,也就是分帧层之上的一层。在逻辑结构和内容上,与http1相同。具体实现上有所差别。 详见: https://tools.ietf.org/html/rfc7540#section-4.3 HEADER就是HTTP中的HEADER,它是有压缩的。 第一步,把常用的header name + value 用数组进行了替换,使用查表的方式进行约定, 表在这里: https://tools.ietf.org/html/rfc7541#appendix-A 表中没有约定的内容,仍然使用ascii码的形式。 第二步,使用哈夫曼编码进行字符压缩。 http2c.pcap 使用nginx + hghttp2工具实验,抓到的包,截图在这里: [classic_tong @ https://www.cnblogs.com/hugetong/p/12694322.html] [http] 有关http2的主要知识点整理 标签:blog 帧结构 格式 解决 利用 alt inf 相同 flags 原文地址:https://www.cnblogs.com/hugetong/p/12694322.html一 介绍
http1有什么问题
http2有什么新的
二 分帧层
分帧层功能
分帧层模型
三 包格式
帧结构
+-----------------------------------------------+
| Length (24) |
+---------------+---------------+---------------+
| Type (8) | Flags (8) |
+-+-------------+---------------+-------------------------------+
|R| Stream Identifier (31) |
+=+=============================================================+
| Frame Payload (0...) ...
+---------------------------------------------------------------+
四 头压缩
五 举个例子
六 完
上一篇:WebSocket的交互实例
下一篇:JS的面向对象