在阅读了关于HTTP报头的Cache-Control
字段之后,
我知道HTTP响应头中的Cache-Control
字段(服务器到客户端)通过为响应头中的Cache-Control
字段发送不同的值来指定中间代理服务器/客户端浏览器如何处理响应的指令:private
、public
、no-cache
或no-store
。
但我不明白为什么我们需要将Cache-Control
作为请求头发送(客户端到服务器)?
发布于 2013-01-27 13:17:15
Cache-Control: no-cache
通常用于请求标头(从web浏览器发送到服务器),以强制对中间代理中的资源进行验证。如果客户端不将此请求发送到服务器,则中间代理将返回内容的副本(根据Expire
或max-age
字段,该副本尚未过期)。即使副本是最新的,Cache-Control
也会指示这些代理重新验证副本。
发布于 2013-01-27 04:10:54
客户端可以在请求中发送Cache-Control
报头,以便请求来自源服务器和沿请求路径的任何中间代理服务器的特定缓存行为,例如重新验证。
发布于 2014-06-18 19:37:05
除了上面的答案之外,
可能会有一个实现高速缓存链的设置。在这种情况下,如果请求到达第一个缓存,但没有得到满足,它可能会转到进一步的链式缓存。
因此,为了始终从服务器获得响应,我们在请求报头中包含缓存控制。这将确保响应始终来自服务器。
https://stackoverflow.com/questions/14541077
复制相似问题