我有一个缓存问题。 Chrome浏览器并不总是加载较新版本的网站资产,大多数情况下是由Require.js加载的JavaScript文件。现在我已经有一个特定的文件超过24小时这个问题。为什么chrome不请求更新版本的缓存文件?
如果我打开devtools(网络标签)打开的页面,违规文件通常显示HTTP 200响应,但在“大小”列中显示“(来自缓存)”。在标题详细信息中显示“临时标题显示”。 Wireshark显示文件确实没有从服务器请求。
Chrome显示文件的最后修改日期为星期六,2014年12月6日01:27:55 GMT,但我对服务器的下面的原始请求清楚地表明该文件最近发生了更改。
如果我做了原始的请求我自己,我没有看到服务器返回的头什么,应该引起这个问题:
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浏览器/ Safari浏览器39.0.2171.71/537.36”)
编辑: 这个问题似乎是最反感与由Require.js加载的文件,虽然我已经遇到它与JavaScript中直接引用的JavaScript以及。
我在这里错过了什么?为什么不会检查文件的新版本?