为什么缓存控制属性在请求标头中发送(客户端到服务器)?(Why is Cache-Control a

2019-07-18 18:21发布

阅读有关后Cache-Control HTTP头的领域中,

据我所知, Cache-Control在HTTP响应报头(服务器到客户端)字段指定如何处理该响应,中间代理服务器/客户浏览器的指示通过用于发送不同值Cache-Control字段: privatepublicno-cache ,或no-store在响应报头中。

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

Answer 1:

Cache-Control: no-cache通常在请求报头(从web浏览器发送到服务器)用于迫使所述资源的验证在中间代理。 如果客户端不发送该请求到服务器,中间代理会如果是新鲜的(按未到期返回内容的副本Expiremax-age字段)。 Cache-Control指示这些代理重新验证复制,即使它是新鲜的。



Answer 2:

客户机可以发送Cache-Control在一个请求,以请求特定的高速缓存行为,如再验证,从源服务器和沿着请求路径的任何中间代理服务器报头。



Answer 3:

除了上面的回答,
因此可能会出现高速缓存链接实现的设置。 如果在请求到达的地方很不满意第一缓存这种情况下,它可能会去进一步链缓存。

因此,为了从服务器得到的回应总是我们包括请求头缓存控制。 这将确保反应总是从服务器。



文章来源: Why is Cache-Control attribute sent in request header (client to server)?