Chrome从内存缓存和磁盘缓存加载相同的资源 - 间歇性

时间:2018-01-30 12:04:35

标签: javascript google-chrome caching

我注意到我们的网站缓存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

以前是否有人曾经或曾经看过这种行为,有人可以解释一下吗?

Example duplicate JS resource as viewed in Network tab

0 个答案:

没有答案