11

我对 Cache-Control 标头的“私有”指令的定义的解读是,它将防止响应的任何部分被中间代理缓存。因此,基于此,听起来如果我使用“私有”指令,那么就没有必要也使用“no-cache =“set-cookie”指令来告诉中间代理抑制 Set-Cookie 的缓存标题。

但是,在本文档的第 4.2.3 节中,它说:

源服务器应根据情况发送以下附加 HTTP/1.1 响应标头:

  • 禁止缓存 Set-Cookie 标头:缓存控制:no-cache="set-cookie"。

    和以下之一:

  • 禁止在共享缓存中缓存私有文档:缓存控制:私有。

    [...]

我在网上看到了大量同时具有这两个指令的示例。

那么我真的需要这两个来防止中间代理缓存 Set-Cookie 标头吗?我一直在做一些测试,似乎 Internet Explorer 通过每次发出完整请求来响应 'no-cache="set-cookie"' 指令,所以如果不是,我宁愿不包括它必要的。

4

1 回答 1

5

Cache-Control: Private将阻止中间缓存存储内容,因此 set-cookie 指令在这种情况下不适用。

于 2012-10-18T10:01:07.433 回答