我刚刚阅读了这篇article,并且在作者对Last-Modified HTTP标题的讨论中,他建议也必须重新验证Cache-Control:必须重新验证。他说:
如果服务器没有发送,该怎么办? 缓存控制:必须重新验证?然后 现代浏览器查看配置文件 自己设定或决定是否 发送条件请求。所以我们 最好发送Cache-Control来制作 确保浏览器发送条件 请求。
所以,我的问题是,让浏览器决定有什么问题?为什么我们要盲目地覆盖浏览器的配置文件设置?我知道有些情况下我们想要强制重新验证,但是应该总是这样吗?
答案 0 :(得分:0)
这实际上取决于您的使用情况。
在大多数情况下,我“和你在一起”,因为一方面你是在拍脚,因为你基本上放弃了避免往返的优势(缓存应该尽可能避免往返,然后尽可能避免发送内容,然后放弃并发送内容,如果您强制浏览器在从缓存中提供服务之前有条件地检查,则此作者正在删除第一个网关。
另一方面,也许你讨厌代码中有趣的缓存失效字符串,即“main.css?v = 2”,并希望浏览器提问,这样你就有机会检查服务器上的缓存ETag和无效。这看起来很糟糕,但我可以看到它对CMS系统很有用,或者当你无法控制URI时。