我的网站http://www.front-end.io配置HTTP请求以优先级从缓存加载资源。所以我的标题就像:
cache-control:max-age=315360000
ETag:W/"11913b-ks0rwRQM+ijHcl1HDuse3g"
Chrome确实没有向服务器发起任何请求(甚至是304),它直接从缓存中加载:
我的Windows10 Chrome> 400毫秒从本地磁盘加载js文件。
我的Ubuntu Chromium也需要> 100毫秒。
但是FireFox只需要大约10毫秒!
我也发现了这个问题Google Chrome load image from cache slower than download,但没有解释。
有人可以帮忙吗?感谢。
答案 0 :(得分:10)
可能这是错误的时间信息。
为了使Chrome开发工具(如时间轴)显示正确的信息,您必须禁用扩展程序以排除它们产生的噪音。 Kayce Basques的How to Use the Timeline Tool article相关摘录:
停用扩展程序。 Chrome扩展程序可以添加无关的扩展程序 您的应用程序的时间线记录。打开Chrome窗口 incognito mode,或创建新的Chrome user profile以确保这一点 你的环境没有扩展。
虽然某些扩展可以以阻塞方式拦截资源请求,但Grammarly不是这些扩展之一。它没有在清单文件中指定的必需webRequestBlocking
权限。查看chrome.webRequest page了解详情。
如果你测量浏览器从磁盘缓存中获取/vendor.61e0ab918e699695d3a3.js脚本的时间,编译并执行它,你会看到它几乎是恒定的,无论是启用语法还是禁用。您可以使用以下代码段:
<script>var startTime = performance.now();</script>
<script type="text/javascript" src="/vendor.61e0ab918e699695d3a3.js"></script>
<script>
var endTime = performance.now();
console.log("Time: " + (endTime - startTime) + " [ms].")
</script>