我对 Cache-Control 头的 'private' 指令的定义的理解是,它将防止任何响应部分被中间代理缓存。因此,基于这一点,如果我使用 'private' 指令,则似乎没有必要再使用 'no-cache="set-cookie"' 指令来告诉中间代理抑制 Set-Cookie 头的缓存。
然而,在第4.2.3节 在本文档中 中,它说:
根据情况,源服务器应发送以下其他 HTTP/1.1 响应头:
为了抑制 Set-Cookie 头的缓存:Cache-control: no-cache="set-cookie"。
和以下之一:
为了抑制共享缓存中的私有文档的缓存:Cache-control: private。
[...]
我看到很多在线示例都同时使用了这两个指令。
我真的需要这两个东西来防止中间代理缓存Set-Cookie头吗?我已经进行了一些测试,似乎Internet Explorer会对“no-cache =”set-cookie“”指令做出响应,每次都会发出完整的请求,因此如果不必要,我宁愿不包括它。