首页 文章

为什么chrome不会请求更新版本的缓存文件?

提问于
浏览
2

我有一个缓存问题 . Chrome并不总是加载较新版本的网站资源,通常是由Require.js加载的Javascript文件 . 现在我已经使用特定文件超过24小时遇到此问题 .

如果我打开devtools(网络选项卡)打开的页面,有问题的文件通常显示HTTP 200响应,但在“大小”列中显示“(来自缓存)” . 在Headers详细信息中,它显示“显示临时 Headers ” . Wireshark显示确实没有从服务器请求该文件 .

Chrome将文件的上次修改日期显示为星期六,06十二月2014 01:27:55 GMT,但我对服务器的下方原始请求清楚地表明该文件最近发生了更改 .

如果我自己做一个原始请求,我在服务器返回的 Headers 中看不到任何应该导致此问题:

GET /js/path/to/file.js HTTP/1.1
Host: static.mydomain.com
User-Agent: Matt

HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Vary: Accept-Encoding
Content-Type: application/javascript
Accept-Ranges: bytes
ETag: "4203477418"
Last-Modified: Fri, 16 Jan 2015 18:28:30 GMT
Content-Length: 5704
Date: Fri, 16 Jan 2015 21:05:06 GMT
Server: lighttpd/1.4.33

.... data here ...

Chrome用户在具有不同版本chrome的多个操作系统上报告了此问题,但我通常不会收到有关其他浏览器缓存问题的报告 . (现在我正在使用“Mozilla / 5.0(X11; Linux x86_64)AppleWebKit / 537.36(KHTML,像Gecko)Chrome / 39.0.2171.71 Safari / 537.36”)

编辑:问题似乎是最令人反感的,由Require.js加载的文件,虽然我已经遇到它与页面中直接引用的javascript .

我在这里错过了什么?为什么chrome不会检查新版本的文件?

1 回答

相关问题