我注意到我们的网站缓存js资源有时会从缓存中加载两次。 Chrome将从内存中检索资源,但也会转到磁盘以检索相同的资源。两个项目的响应标题是相同的。请求标头可以有所不同,但我没有看到任何类型的模式。这似乎只是Chrome中的一个问题。我没有注意到Firefox中的行为。
我已停用所有Chrome扩展程序,但仍然看到了问题。我也在本地环境和测试服务器上看到了这个问题。我比较了重复的文件,它们完全相同。
这似乎只是我们的js资源的一个问题。
重复资源响应标头的示例(两者都相同):
Accept-Ranges:bytes
Cache-Control:public,max-age=604800
Content-Length:3277768
Content-Type:application/javascript
Date:Tue, 30 Jan 2018 10:25:22 GMT
ETag:"3697cc18996d31:0"
Last-Modified:Fri, 26 Jan 2018 09:40:52 GMT
Server:Microsoft-IIS/10.0
一般:
Request URL:http://dev.localsite.com/dist/app.bundle-cc0bc51ac1c5549dc59f.js
Request Method:GET
Status Code:200 OK (from memory cache) --this indicates from disk cache on disk version
Remote Address:127.0.0.1:80
Referrer Policy:no-referrer-when-downgrade
请求标头不同,但它确实有所不同。加载了两个相同的资源具有以下请求标头:
版本1(来自内存):
Request Headers
Provisional headers are shown
版本2(来自磁盘):
Request Headers
Provisional headers are shown
Referer:http://dev.localsite.com/madeUpPage
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36
以前是否有人曾经或曾经看过这种行为,有人可以解释一下吗?