【问题标题】:Is it a good idea to always send Cache-Control: must-revalidate along with Last-Modified总是发送 Cache-Control: must-revalidate 和 Last-Modified 是个好主意吗
【发布时间】:2011-07-09 02:02:06
【问题描述】:

我刚刚阅读了这个article,在作者对 Last-Modified HTTP 标头的讨论中,他建议也发送 Cache-Control: must-revalidated。他说:

如果服务器不发送怎么办 缓存控制:必须重新验证?然后 现代浏览器看个人资料 设置或自行决定是否 发送有条件的请求。所以我们 最好发送 Cache-Control 来制作 确保浏览器发送有条件的 请求。

所以,我的问题是,让浏览器决定有什么问题?为什么我们要盲目地覆盖浏览器的配置文件设置?我了解在某些情况下我们希望强制重新验证,但是否应该始终这样做?

【问题讨论】:

    标签: http caching header last-modified


    【解决方案1】:

    这真的取决于你的使用情况。

    我大部分时间都在“与你同在”,因为一方面你是在踢自己的脚,因为你基本上放弃了首先避免往返的优势(缓存应该尽可能避免往返,然后尽可能避免发送内容,然后放弃并发送内容,如果您强制浏览器在从其缓存中进行服务之前有条件地检查,则作者正在删除第一个网关。

    另一方面,也许您讨厌代码中有趣的缓存失效字符串,即“main.css?v=2”,并希望浏览器询问,因此您有机会检查服务器上缓存的 ETag 并无效。这似乎是一个糟糕的理由,但我可以看到它对 CMS 系统或当您无法控制 URI 时很有用。

    【讨论】:

      猜你喜欢
      • 2018-11-24
      • 2016-04-28
      • 2015-02-14
      • 1970-01-01
      • 2013-08-11
      • 2019-01-17
      • 2011-01-25
      • 2010-11-05
      • 1970-01-01
      相关资源
      最近更新 更多