使浏览器缓存图像

时间:2011-08-22 11:40:27

标签: language-agnostic

我的网站上有一张相当大的图片(大约200kb)。我没有计划在不久的将来改变它。如何告诉浏览器缓存它?

2 个答案:

答案 0 :(得分:5)

设置正确的标题会对您有所帮助。

到期日:2012年4月15日星期四20:00:00 GMT

设置此标头会告诉浏览器何时刷新此资源。有关详细信息,请参阅http://www.web-caching.com/mnot_tutorial/how.html

ETag:“10c24bc-4ab-457e1c1f”

ETag在第二次访问时被发送到服务器。如果它仍然相同,则发送304 - 未修改。

有关更多信息,请参阅http://developer.yahoo.com/performance/rules.html,章节配置ETag

答案 1 :(得分:1)

默认情况下,浏览器会缓存图像(除非您告诉它不要),并在再次下载之前询问服务器是否已经变质。如果图像是静态的,服务器将能够正确回答图像未被修改,浏览器只会下载一次。

您可以通过设置和Expires和Cache-Control标头来避免浏览器询问服务器是否修改了图像。

例如,使用apache,启用mod_expires:

<FilesMatch thefilename.png>
    ExpiresActive On
    ExpiresDefault "access plus 1 year"
</FilesMatch>

这将设置Expires和Cache-Control标头,以便浏览器在首次下载图像后的1年内不会检查图像是否被修改。