是否有任何理由用“Vary: *”来响应?和“变化:Foo”对于相同的资源?

发布于 2024-09-15 10:08:53 字数 247 浏览 14 评论 0 原文

对于同一资源的请求,HTTP 服务器有时会使用 Vary: * 进行响应,有时会使用 Vary: Foo 进行响应,这是否有任何原因?

缓存应该做什么,如果在接收(并缓存)两个响应之后,它接收到一个具有匹配的 Foo 标头的请求,而 Vary: Foo 响应适合该请求?它可以提供匹配的响应,还是单独的 Vary: * 响应会覆盖它?

Is there any reason for a HTTP server to sometimes respond with Vary: *, and sometimes with Vary: Foo, to requests for the same resource?

What should a cache do, if after receiving (and caching) both responses, it then receives a request with a matching Foo header, for which the Vary: Foo response is suitable? Can it serve the matching response, or does the separate Vary: * response override it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我乃一代侩神 2024-09-22 10:08:53

可能存在这样的情况:服务器可以保证在一定时间内资源的表示仅受 Foo 影响,但经过一段时间后,它无法再做出任何保证,并且必须将标头设置为变化:*

过期优先于验证。由于 Vary: * 强制重新验证,因此缓存应选择 Foo 响应(假设它是最新的)。

There may be a situation where a server can guarantee that for a certain time a resource's representation is only influenced by Foo but after some time have elapsed, it can no longer make any guarantee and must set the header to Vary: *.

Expiration is preferred over validation. Since Vary: * forces revalidation, the cache should select the Foo response assuming it is fresh.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文