HTTP 缓存标头:私有与无缓存

信息安全 http http代理 缓存
2021-08-22 09:57:52

我们目前正在审查我们的一组“无缓存”安全标头:

  • Cache-Control "no-cache, no-store, must-revalidate
  • Pragma "no-cache"
  • Expires 0

除了上面设置的“标准”之外,我找到了这篇文章,建议将“no-cache”和“no-store”与“private”结合起来。据我了解规范,如果您想完全禁止缓存,设置“no-cache”和“no-store”就足够了。

所以我的问题是:是否有任何理由将“私人”标头添加到我们的集合中?如果是这样,标题之间是否会发生冲突?

PS:我也查了以下两个讨论,都没有给出明确的答案。

1个回答

我理解你强调的矛盾(如果我们可以这么说的话)。因此,我阅读了(与私有选项相关的规范的某些部分)和文章。

我宁愿搜索最初提到该错误的原始文章。在那篇文章中说:

据报道,多个 meta.wikimedia.org 用户收到了相同的会话 ID。这些用户可以根据会话值充当碰巧登录的用户。

所以你可以断定规范没有错,只有在有会话时才private需要添加选项Cache-control