更新缓存的images / css / js而不重命名

时间:2011-01-27 14:40:26

标签: caching

我对人们如何处理有关浏览器缓存的图像/ css / js更新感兴趣。

使用mod_expires显然很好并且将来有效 - 但是如果你不想一直重命名文件,那么如何更新这些文件呢?

有没有人有任何版本号的酷技巧,不会让浏览器(或代理)不想要缓存文件,但是如果新版本更新,用户仍会保证看到新版本?

3 个答案:

答案 0 :(得分:0)

执行此操作的一般方法是生成随机数并将其添加为GET / POST变量。例如:

http://example.com/myfile.html?r=189818273

只是我的两分钱......

答案 1 :(得分:0)

如果您不更改默认缓存规则,则会更新所有这些资源。您可以使用FireBUG进行测试。如果未修改资源,则返回304;如果修改了资源,则返回200。因此,如果您在页面上有图像,则默认情况下将在每个请求中进行检查。

答案 2 :(得分:0)

我会添加一个查询字符串参数,其中包含上次修改文件的时间戳:

http://example.com/script.js?v=123456

或者,您可以在应用程序中定义全局变量并将其用作时间戳。当您更改其中一个文件时,只需增加该变量即可。这意味着您的所有资源将同时失效,但这可能比读取文件的时间戳更简单。