浏览器资源缓存(图像,Javascript,CSS)

时间:2012-01-06 00:14:34

标签: apache http http-headers browser-cache cache-control

我在我正在进行更新的网站上进行缓存时遇到问题。我更新的许多资源(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文件。

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

1 个答案:

答案 0 :(得分:0)

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

相关问题