【发布时间】:2011-03-06 13:05:19
【问题描述】:
我确信我网站上的某些图片没有正确缓存。我已尽我所能设置标题,但每次我点击刷新按钮时,它们似乎仍会再次下载。
例如,特定图像的下载时间总是超过 1 秒。这甚至在它应该被缓存之后。以下是响应标头:
HTTP/1.1 200 OK
Date: Sun, 06 Mar 2011 12:51:52 GMT
Server: Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.7a mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.16
Last-Modified: Thu, 01 Jan 1970 00:00:00 GMT
Accept-Ranges: bytes
Content-Length: 19211
Cache-Control: max-age=630323456, public
Expires: Wed, 03 Mar 2021 12:51:52 GMT
Keep-Alive: timeout=5, max=98
Connection: Keep-Alive
Content-Type: image/png
这有什么问题吗?谢谢。
更新
<FilesMatch "\.(htm|html|php)$">
Header set Expires "Thu, 01 Jan 1970 00:00:00 GMT"
</FilesMatch>
【问题讨论】:
-
你的缓存大小是多少?在firefox地址栏中输入“about:cache”,看看你的文件是否在缓存中
-
@Pekka:是的。根据 Google:“将 Last-Modified 日期设置为上次更改资源的时间。如果 Last-Modified 日期在过去足够远,浏览器可能不会重新获取它。”
-
@Stack 当然,我没想到。嗯,您在 Firebug 中对此有何回应?你能确认它一直在重新加载吗?有没有机会举一个活生生的例子? @Zimbabao 提到的本地缓存可能确实是一个问题
-
@Zimbabao - 我的缓存已关闭(通过 Web 开发人员工具栏)!但是,当我重新启用它时,问题仍然存在。磁盘缓存:
Maximum storage size: 51200 KiB(使用中的存储空间:284 KiB) -
@Stack 您能否通过查看 Firebug 中的“网络”选项卡来确认图像是否不断被重新获取?你每次都会收到
200 OK?
标签: apache .htaccess performance yslow pagespeed