http2 - 服务端如何识别HTTP2中不同客户端的header压缩
问题描述
根据http2协议,客户端和服务端需要维护相同的静态和动态字典。
对于服务器,它接收来自许多不同客户端的压缩标头。
对于客户端发送的header压缩内容,是只在本用户的词典中搜索还是在所有词典中搜索?
如果查询仅在特定客户端的字典中,它如何确定请求来自哪个字典?
另外,存储在服务器中的用户字典什么时候过期?
解决方案
客户端和服务器维护每个连接的状态,该状态存储包含两个对等方之间交换的 HTTP 标头的静态和动态表。
没有“用户”的概念,只有连接的概念。
对于打开多个 TCP 连接的客户端,每个连接将有一个不同的动态表(静态表对于来自所有客户端的所有连接都是相同的,它由 HTTP/2 here指定)。
对于连接中的所有 HTTP/2 流,动态表由客户端和服务器更新,因此它始终保持同步。
由于绑定到 TCP 连接,动态表在连接关闭时被丢弃。
推荐阅读
- python - 如何检查输入的值是否存在于文件中的任何位置,然后打印?
- python - 向 pandas 数据框添加一行字符串,例如第二个列名
- python - 当我尝试在 Windows 上运行 flask db init 时出现迁移错误
- python - 仅打印 .txt 文件中的特定单词 - Python
- c# - 创建计算数字 T 平均值的通用类
- jquery - 使用 jQuery + HTML 进行网站搜索
- linux-kernel - 如何实现带阻塞的字符设备?
- python - 检查熊猫数据框的最后一行是否满足条件的最佳方法是什么?
- reactjs - 如何从对回调 URL 的响应中提取数据?
- azure-functions - 使用 CLI 创建 Azure Function 项目