我对人们如何处理有关浏览器缓存的图像/ css / js更新感兴趣。
使用mod_expires显然很好并且将来有效 - 但是如果你不想一直重命名文件,那么如何更新这些文件呢?
有没有人有任何版本号的酷技巧,不会让浏览器(或代理)不想要缓存文件,但是如果新版本更新,用户仍会保证看到新版本?
答案 0 :(得分:0)
答案 1 :(得分:0)
如果您不更改默认缓存规则,则会更新所有这些资源。您可以使用FireBUG进行测试。如果未修改资源,则返回304;如果修改了资源,则返回200。因此,如果您在页面上有图像,则默认情况下将在每个请求中进行检查。
答案 2 :(得分:0)
我会添加一个查询字符串参数,其中包含上次修改文件的时间戳:
http://example.com/script.js?v=123456
或者,您可以在应用程序中定义全局变量并将其用作时间戳。当您更改其中一个文件时,只需增加该变量即可。这意味着您的所有资源将同时失效,但这可能比读取文件的时间戳更简单。