HTML 标头表示图像/jpeg,DevTools 表示文档和缓存不起作用



我正在尝试缓存一些图像并使用MS Edge的DevTools来分析网络。 URL 应该只通过readfile($image)返回图像,我在浏览器中正确看到图像。

Response Headers:
HTTP/1.1 200 OK
Date: Mon, 25 May 2020 19:18:56 GMT
Server: Apache/2.4.38
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: max-age=86400
Pragma: no-cache
Debugbar-Time: 1590434336
Debugbar-Link: https://blog.casa.spiti/?debugbar_time=1590434336
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: image/jpeg

Chrome 开发者工具的"Network"标签页会显示相应映像的document

对此输出的问题:

  1. 1981 年的到期日是什么?如何更改它?
  2. 这是图像未缓存的原因吗?
  3. 为什么图像被指示为文档?是因为我使用 readfile(( 吗?
  1. 没有看到您的服务器配置就无法回答。

  2. 不应该,cache-control优先使用Expires.

  3. 如果您直接在浏览器中加载图像,它显示为文档 - 即使它是图像。在这种情况下,该图像就是文档。如果将图像作为 HTML 文档的一部分加载,则它将在开发工具中显示为图像。

最新更新