【问题标题】:Is the URL subject to HTTP/2 header compression?URL 是否受 HTTP/2 标头压缩?
【发布时间】:2018-11-01 05:27:07
【问题描述】:

我了解,如果您在后续请求中发送重复的标头值,动态表会这样做,因此您不会再次发送该值,而是发送表中对它的引用。

我的问题是这是否也适用于 URL?

假设您对同一个 URL 重复请求(可能包含长 ID 和/或令牌),在这种情况下会节省带宽吗?

【问题讨论】:

    标签: http-headers http2


    【解决方案1】:

    客户端可以使用多种选项在HPACK specification 中定义的 HTTP/2 下发送标头。这些基本上说明是否使用先前引用的标头,是否存储标头以供以后参考,是否永远不存储标头以供重用......等等。客户端决定将其中哪些用于它发送的标头。

    在 HTTP/2 中,URL 在 :path 伪标头中发送,因此与 HTTP/1.1 不同,它与任何其他 HTTP 标头一样,因此可以被压缩。然而,通常一个 URL 不会经常重复,所以它会作为 Literal Header Field without Indexing 发送,这意味着这是一个一次性的标头,所以不要存储它以供重复使用。当然,由于它是一个 HTTP 标头,与任何其他标头非常相似,因此没有什么可以阻止 HTTP/2 客户端将其作为索引类型发送,但 Web 浏览器不太可能这样做,因此这可能只是自定义客户端的一个选项。

    顺便说一句,如果想了解更多,并且发现规范有点难以遵循,那么我的书 HTTP/2 in Action 将在第 8 章中更详细地介绍这一点。

    【讨论】:

      猜你喜欢
      • 2016-09-01
      • 1970-01-01
      • 2017-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-24
      • 2014-01-14
      • 1970-01-01
      相关资源
      最近更新 更多