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