2012-01-06 67 views
0

我在更新网站时遇到了缓存问题。我更新过的许多资源(javascript,css和图像文件)似乎都被浏览器本地缓存。我不明白的是为什么,或者如何解决这个重新命名我编辑过的所有东西(这不是一个非常有吸引力的解决方案)。浏览器资源缓存(图像,Javascript,CSS)

服务器正在http标头中生成以下内容。

Date Fri, 06 Jan 2012 00:09:32 GMT 
Server Apache/2.2.16 (Amazon) 
X-Powered-By PHP/5.3.5 
Expires Thu, 19 Nov 1981 08:52:00 GMT 
Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma no-cache 
Content-Length 3636 
Connection close 
Content-Type text/html; charset=UTF-8

根据我对缓存控制指令的理解,资源不应该被缓存。尽管如此,我还是会收到上传更改后未更新的图像,CSS和JavaScript文件。

关于如何解决此问题或最佳做法的任何想法?

回答

0

在做了一些小改动后,我决定将所有可缓存的资源放入版本化的文件夹中(即.css-1.2.1,js-1.2.1等)。任何时候我更新网站,我只是增加我的版本号(我保持所有版本号同步)。这在缓存优化方面并不理想,但这意味着我不必为每个资源都跟踪单个版本号。鉴于我没有每四个小时更新一次网站,这意味着用户每次更新网站时都必须下载新的资源集。