我对 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"' 指令,所以如果不是,我宁愿不包括它必要的。