2

我正在开发的网站上出现一些图片问题。一些图像被正确缓存并且它们的标题看起来是正确的(强 etags,正确的最后修改)。但其他图像的 etag 较弱(以 W/ 开头)和最后修改的标头始终等于当前时间。有谁知道我该如何解决这个问题?我环顾四周,似乎找不到任何有效的方法。未缓存的图像是背景图像,它会在每次重新加载页面时导致背景闪烁,这很烦人。

标题:

Accept-Ranges:bytes
Connection:Keep-Alive
Content-Length:6879
Content-Type:image/jpeg
Date:Wed, 15 Dec 2010 07:41:44 GMT
Etag:W/"4e863ea-1adf-49772cd85b340"
Keep-Alive:timeout=15, max=98
Last-Modified:Wed, 15 Dec 2010 07:41:44 GMT
Server:Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.6 with Suhosin-Patch

预先感谢您的任何帮助。我不是这类事情的专家,所以如果我遗漏了一些明显的东西,我深表歉意。

4

2 回答 2

1

如果您想确保您的图像被缓存,您不能依赖验证标头 ( last-modified, etag)。为了确保缓存,您需要使用Expiresor Cache-control。仅在缓存过期机制表明内容已过时后才使用验证。如果您不使用 ExpiresCache-control标头,则内容新鲜度未定义,仅取决于浏览器的具体实现,因此在您的情况下,它可能会出现意外行为。

于 2017-04-29T10:19:43.737 回答
0

我不确定发生了什么变化,但看起来问题已经消失了。

标题:

Accept-Ranges:bytes
Connection:Keep-Alive
Content-Length:6879
Content-Type:image/jpeg
Date:Wed, 15 Dec 2010 16:46:14 GMT
Etag:"4e863ea-1adf-49772cd85b340"
Keep-Alive:timeout=15, max=99
Last-Modified:Wed, 15 Dec 2010 13:20:37 GMT
Server:Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.6 with Suhosin-Patch
于 2010-12-15T16:50:35.853 回答