181

在阅读Cache-Control了 HTTP 标头的字段之后,

我了解Cache-ControlHTTP 响应标头(服务器到客户端)中的字段指定了中间代理服务器/客户端浏览器如何处理响应的指令,方法是为Cache-Control字段发送不同的值:、、、private或在响应标头中。publicno-cacheno-store

但我不明白为什么我们需要Cache-Control作为请求标头(客户端到服务器)发送?

4

3 回答 3

151

Cache-Control: no-cache通常用于请求标头(从 Web 浏览器发送到服务器)以强制验证中间代理中的资源。如果客户端没有向服务器发送这个请求,中间代理将返回一个内容的副本,如果它是新鲜的(根据Expireormax-age字段没有过期)。Cache-Control指示这些代理重新验证副本,即使它是新鲜的。

于 2013-01-27T05:17:14.823 回答
15

客户端可以在请求中发送Cache-Control标头,以便从源服务器和请求路径上的任何中间代理服务器请求特定的缓存行为,例如重新验证。

于 2013-01-26T20:10:53.670 回答
5

除了上述答案之外,
可能还有一个实现缓存链接的设置。在这种情况下,如果请求到达第一个不满足的缓存,它可能会转到进一步的链式缓存。

因此,为了始终从服务器获取响应,我们在请求标头中包含缓存控制。这将确保响应始终来自服务器。

于 2014-06-18T11:37:04.873 回答