缓存控制不可变标头

时间:2020-04-05 22:04:40

标签: caching header http-headers cache-control

我正在阅读有关不可变标头的信息,偶然发现这篇文章是:

缓存控制:max-age = 365000000,不可变

当支持不可变的客户端看到此属性时,应该 假设该资源(如果未过期)在服务器上是不变的,并且 因此,不应为此发送有条件的重新验证(例如 If-None-Match或If-Modified-Since)以检查更新。改正 永远不会使用可能的损坏(例如Firefox中的班次重新加载) 有条件的重新验证,并且与不可变有关仍然有意义 对象,如果您担心它们已损坏。

source

我无法理解此短语“如果未过期,则在服务器上未更改,因此不应发送条件重新验证”

在默认情况下,客户端不会发送重新验证,直到max-age到期为止。

那么,首先要说明的一点是不变的?

1 个答案:

答案 0 :(得分:2)

人们按下刷新按钮。

最初提出此不变的缓存控制指令的Facebook,有good post on this关于如何为他们节省大量请求的信息,包括以下引号:

重新加载的问题

存在浏览器的重新加载按钮,以允许用户获取更新 当前页面的版本。为了达到这个目标,当您 重新加载,浏览器将重新验证您当前所在的页面,甚至 如果该页面尚未过期。但是,他们也走得更远 并重新验证页面上的所有子资源(例如图片和 JavaScript文件。

相关问题