尽管Chrome在网络标签中缓存了静态文件(JS,图片等),但这些文件需要一些时间,如下图所示。 为什么Chrome缓存的请求需要时间?
许多缓存文件的加载时间仅为0ms。即使文件从缓存中加载,有人可以告诉我,为什么他们加载时间大于0ms?
尽管Chrome在网络标签中缓存了静态文件(JS,图片等),但这些文件需要一些时间,如下图所示。 为什么Chrome缓存的请求需要时间?
许多缓存文件的加载时间仅为0ms。即使文件从缓存中加载,有人可以告诉我,为什么他们加载时间大于0ms?
乍看之下,看起来Chrome很花时间下载资源,即使它们来自缓存。这不是从您看到的Web服务器上下载的时间。相反,我相信这是从本地数据库缓存中下载的时间。
任何数据的检索都涉及一定数量的成本。这些资源基本上存储在Chrome的数据库中,要检索数据需要查询,这不是即时的。除了在表中查找数据之外,可能还有一些处理将正确的数据推送到内存中,因为数据的存储方式并不完全如此。它很可能被压缩,并且解压缩数据可能是一个缓慢的过程。
你可以,虽然它似乎采取0毫秒来获取一些资源,当你在看计时选项卡,你会看到,它实际上是四舍五入的网络选项卡看到。例如,在下面的请求中,我看到0.08 ms失速和0.02 ms下载,尽管它在网格中显示为0 ms。
更新:
我进一步调查了这一点,并发现Chrome扩展似乎对从缓存和Web两种检索时间,特别是那些将内容插入效果这一页。 Adblock似乎是我的一些延迟的原因 - 上面的解释仍然适用于其余的。
感谢Gideon的详细解释。 – Sriks
对于我来说,如果我从悉尼前往我在阿姆斯特丹的服务器,或者280ms从我的CPU到内存7厘米,我会得到280ms的TTFB。如果这是真的,这个世界确实是一个陌生的地方。 –
@DavidGilbertson是的,从数据库/处理检索不能考虑这个时间级别。没有启用任何扩展程序,你尝试运行吗? –
看看这个https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching?hl=en http://stackoverflow.com/questions/3401049/chrome -doesnt-cache-images-js-css – Codeone