为什么在请求头(客户端到服务器)中发送Cache-Control属性?
在阅读了HTTP头的Cache-Control字段之后,
我知道HTTP响应头(服务器到客户端)中的Cache-Control字段通过发送Cache-Control字段的不同值来为中间代理服务器/客户端浏览器指定如何处理响应的指令 – private,public ,响应头中没有caching或不存储。
但我不明白为什么我们需要在请求头(客户端到服务器)中发送Cache-Control属性?
Cache-Control: no-cache
通常用于请求头(从Web浏览器发送到服务器),以强制在中间代理中validation资源。 如果客户端没有发送这个请求到服务器,中间代理将返回一个新的内容的副本(根据Expire
或max-age
字段没有过期)。 Cache-Control
指示这些代理重新validation副本,即使它是新鲜的。
客户端可以在请求中发送Cache-Control
头,以便请求来自源服务器和沿请求path的任何中间代理服务器的特定caching行为,例如重新validation。
除了上面的答案之外,
可能会有一个设置caching链接的地方。 在这种情况下,如果请求首先在不满足的情况下进入caching,则可能会进一步链接caching。
因此,为了始终从服务器获得响应,我们在请求头中包含了caching控制。 这将确保响应始终来自服务器。