阅读有关后Cache-Control
HTTP头的领域中,
据我所知, Cache-Control
在HTTP响应报头(服务器到客户端)字段指定如何处理该响应,中间代理服务器/客户浏览器的指示通过用于发送不同值Cache-Control
字段: private
, public
, no-cache
,或no-store
在响应报头中。
但我不明白为什么我们需要发送的Cache-Control
的请求头(客户端到服务器)的属性?
阅读有关后Cache-Control
HTTP头的领域中,
据我所知, Cache-Control
在HTTP响应报头(服务器到客户端)字段指定如何处理该响应,中间代理服务器/客户浏览器的指示通过用于发送不同值Cache-Control
字段: private
, public
, no-cache
,或no-store
在响应报头中。
但我不明白为什么我们需要发送的Cache-Control
的请求头(客户端到服务器)的属性?
Cache-Control: no-cache
通常在请求报头(从web浏览器发送到服务器)用于迫使所述资源的验证在中间代理。 如果客户端不发送该请求到服务器,中间代理会如果是新鲜的(按未到期返回内容的副本Expire
或max-age
字段)。 Cache-Control
指示这些代理重新验证复制,即使它是新鲜的。
客户机可以发送Cache-Control
在一个请求,以请求特定的高速缓存行为,如再验证,从源服务器和沿着请求路径的任何中间代理服务器报头。
除了上面的回答,
因此可能会出现高速缓存链接实现的设置。 如果在请求到达的地方很不满意第一缓存这种情况下,它可能会去进一步链缓存。
因此,为了从服务器得到的回应总是我们包括请求头缓存控制。 这将确保反应总是从服务器。