首页 > 解决方案 > 服务端如何识别HTTP2中不同客户端的header压缩

问题描述

根据http2协议,客户端和服务端需要维护相同的静态和动态字典。

对于服务器,它接收来自许多不同客户端的压缩标头。

对于客户端发送的header压缩内容,是只在本用户的词典中搜索还是在所有词典中搜索?

如果查询仅在特定客户端的字典中,它如何确定请求来自哪个字典?

另外,存储在服务器中的用户字典什么时候过期?

标签: http2

解决方案


客户端和服务器维护每个连接的状态,该状态存储包含两个对等方之间交换的 HTTP 标头的静态和动态表。

没有“用户”的概念,只有连接的概念。

对于打开多个 TCP 连接的客户端,每个连接将有一个不同的动态表(静态表对于来自所有客户端的所有连接都是相同的,它由 HTTP/2 here指定)。

对于连接中的所有 HTTP/2 流,动态表由客户端和服务器更新,因此它始终保持同步。

由于绑定到 TCP 连接,动态表在连接关闭时被丢弃。


推荐阅读