http标头的哪些组合可以实现以下目的?
我希望尽可能长时间地缓存像图像这样的静态内容,但如果这些图像在服务器上发生变化,我希望浏览器更新它们。
答案 0 :(得分:2)
静态内容的一种非常巧妙的缓存方法是在URL内编码静态内容的版本。然后“通知”浏览器下载新的静态内容只是向客户端提供新的URL。
# first version access (1.1/main.css will never expire)
# e.g. by far future Cache-Control + Expires Header
<link ... href="/static/1.1/main.css
# after upgrading/releasing trigger fresh download
<link ... href="/static/1.2/main.css
它涉及到构建+部署过程的一些努力,但是从缓存控制来看它非常简单。