Joy*_*Joy 7 performance caching google-chrome browser-cache
我的网站http://www.front-end.io配置HTTP请求以从第一优先级的缓存加载资源.所以我的标题将是:
cache-control:max-age=315360000
ETag:W/"11913b-ks0rwRQM+ijHcl1HDuse3g"
Run Code Online (Sandbox Code Playgroud)
Chrome确实没有向服务器发起任何请求(甚至304),它直接从缓存加载:
我的Windows10 Chrome> 400毫秒从本地磁盘加载js文件.
我的Ubuntu Chromium也需要> 100ms.
但是FireFox只需要大约10毫秒!
我也发现了这个问题,谷歌Chrome从缓存加载图像比下载慢,但没有解释.
有人可以帮忙吗?谢谢.
Leo*_*lev 10
可能这是错误的时间信息.
为了使时间轴等Chrome开发工具显示正确的信息,您必须禁用扩展程序以排除它们产生的噪音.Kayce Basques的" 如何使用时间线工具"一文的相关摘录:
禁用扩展程序 Chrome扩展程序可以为应用程序的时间轴录制添加无关的噪音.以隐身模式打开Chrome窗口 ,或创建新的Chrome用户个人资料,以确保您的环境没有扩展程序.
虽然一些扩展可以以阻塞方式拦截资源请求,但Grammarly不是这些扩展之一.它没有webRequestBlocking
在清单文件中指定的必需权限.检查chrome.webRequest页面以获取更多信息.
如果你测量浏览器从磁盘缓存中获取/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>
Run Code Online (Sandbox Code Playgroud)