日期:2014-05-17  浏览次数:20603 次

js缓存和静态html缓存机制不一样?
对于html,会根据last modified同服务器端的文件比较,然后决定是否使用本地缓存,所以如果html更改了,客户端会立刻更新。但是js如果修改了,有时客户端并不会更新,难道js不是根据last modified判断的吗?
更新后必须在js的路径后加个变化参数(如v=11)才能使客户端更新。

------解决方案--------------------
不一样的。

文档本身是根据Last-Modified作为依据,检索Cache目录。
有些东西Last-Modified解决不了,比如一些文件会周期性修改,但是内容不一定每次都变动。
在HTTP1.1中的Etag可以解决这个问题。

对于Css文件、Javascript文件、图片等都是使用一个唯一的参数,比如你提到的v=11

lz想详细了解可以看看HTTP协议对于Last-Modified和ETag的定义