如何优化网页上图像的缓存

时间:2010-02-23 10:44:30

标签: http header

我的网站包含许多小图片的网页。图像设置为缓存,标题包含:

Expires "Thu, 31 Dec 2037 23:55:55 GMT"
Cache-Control "public, max-age=315360000"

然而,当有人加载页面时,似乎我们仍然被迫为每个图像发送304响应 - 比发送整个图像更好,但仍需要一些时间。当然,这种缓存取决于浏览器,但是可以向浏览器建议它使用缓存的图像而不需要任何请求吗?

2 个答案:

答案 0 :(得分:2)

如果页面上有许多小图像,请考虑使用所有图像制作CSS精灵 - 这将大大减少请求的数量。 A List Apart explains the concept

答案 1 :(得分:1)

查看RFC 2616,HTTP / 1.1协议的一部分:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9

你会看到许多选项。主要用于代理,而不是浏览器。您无法真正强制浏览器完全停止Modified-Since-Requests。

特别是较旧的代理可能会忽略您的Cache-Control提示,请参阅上述网站上提到的段落:

  

请注意,HTTP / 1.0缓存可能无法实现Cache-Control和         可能只实现Pragma:no-cache(参见第14.32节)。

如果您真的担心这些短请求,请查看您的服务器中的HTTP-keepalive功能是否已启用(当然,它对它本身有副作用)。