相关疑难解决方法(0)

HTTP状态代码200(缓存)与状态代码304之间有什么区别?

我正在使用谷歌的"Page Speed"插件来访问我的网站.

我页面上的一些组件表示为HTTP状态:

200 200(缓存)304

通过谷歌的"页面速度".

我困惑的是200(缓存)和304之间的区别.

我已多次刷新页面(但尚未清除我的缓存),似乎我的favicon.ico和一些图像状态= 200(缓存),而其他一些图像是http状态304.

我不明白为什么不同.

更新:

使用Google"Page Speed",我收到了http://example.com/favicon.ico的"200(缓存)" 以及http://cdn.example.com/js/ga.js

但是,我收到http://cdn.example.com/js/combined.min.js的http状态"304"

我不明白为什么我有两个JavaScript文件位于同一目录/ js /中,一个返回http状态304,另一个返回200(缓存)状态代码.

caching http cache-control httpwebrequest http-status-codes

194
推荐指数
4
解决办法
16万
查看次数

为什么Chrome会花时间从缓存中"下载"内容?

我正在提供旨在由浏览器无限期缓存的静态内容.Chrome正在按预期缓存它,但仍在花时间"下载"它.我使用的是Chrome 46.0.2490.71.

Chrome网络标签

正如您所看到的,内容是从缓存提供的,但内容下载仍需要68毫秒.这导致svg图像在每次页面加载时闪烁,即使文件被缓存.

以下是隐身模式中页面加载的相关时间线信息:

Chrome时间线标签

每个事件的"总时间"和"事件时间"字段为零.使用本地提供的文件(但仍然来自缓存)复制此项,"接收数据"事件只能看一次.

一些有趣的注意事项:

  • 使用相同的编码从本地计算机提供相同的文件不会产生相同的下载延迟.
  • 切换到隐身模式(无扩展名)会使下载延迟减半,但不会消除延迟.
  • 刷新页面更快,因为从服务器接收304响应似乎花费的时间少于仅从缓存加载响应.
  • 关闭开发工具似乎对延迟没有任何影响.
  • IE 11,Edge和Firefox 41没有显示任何延迟.

有什么可能的原因?

google-chrome http-caching google-chrome-devtools

40
推荐指数
1
解决办法
7140
查看次数

检查网络响应是来自服务器还是Chrome缓存

在Google Chrome中,您如何检查从浏览器缓存中提供的文件以及来自服务器的文件?

caching google-chrome request developer-tools

31
推荐指数
2
解决办法
2万
查看次数

为什么Chrome缓存请求需要时间?

即使Chrome在网络选项卡中缓存静态文件(JS,图像等),这些文件也需要一段时间,如下图所示.在此输入图像描述

许多缓存文件的加载时间仅为0毫秒.有人可以告诉我即使文件是从缓存加载,为什么他们加载> 0毫秒?

performance caching google-chrome google-chrome-devtools

5
推荐指数
1
解决办法
2620
查看次数