1

随附的是同一网站的 Google Chrome 网络工具的三个屏幕截图。

它们被过滤以显示来自 Amplience CDN 的图像

大小/内容列中显示的结果各不相同,我试图了解原因。

每个屏幕截图都是从返回用户的角度拍摄的。因此图像应该来自缓存。

屏幕截图 1 - 显示磁盘大小和传输大小之间的巨大差异。屏幕截图 2 - 显示其中一张图像现在未缓存 屏幕截图 3 - 现在显示术语(来自缓存)。

我的问题是:

  1. 在屏幕截图 1 中,为什么不显示(来自缓存)?屏幕截图 3 中没有发生的少量传输大小发生了什么?

  2. 为什么突然没有缓存一张图片?

    屏幕截图 1 - 磁盘大小和传输大小之间的巨大差异 屏幕截图 2 - 现在未缓存其中一张图像 屏幕截图 3 - 现在显示术语(来自缓存)

4

1 回答 1

1

我的回应:

  1. 在屏幕截图 1 中,为什么不显示(来自缓存)?屏幕截图 3 中没有发生的少量传输大小发生了什么?

如果您显示“状态”,您可能会看到“304 未修改”。在这种情况下,使用了缓存并且使用网络。向服务器发送了一个请求,响应仅包含 257 字节长的标头。

  1. 为什么突然没有缓存一张图片?

可能有很多原因,因此如果没有更多信息,很难回答。

  • 可能是您要求“硬刷新”(Ctrl + Shift + R)。
  • 可能是响应包含比“Cache-Control: max-age=xxx”更大的“Age”标头,或者是过去太久的“Date”标头。
  • 我还可以想到这样一种情况:浏览器发送带有“If-modified-Since”标头或“Etag”标头的请求,而您的服务器(在您的情况下是 CDN 服务器)并不都以相同的信息响应。
  • 浏览器有时会从缓存中删除某些内容,通常是在它们需要为其他文件腾出空间时。
于 2016-09-02T15:33:17.470 回答