我的网站上有一张相当大的图片(大约200kb)。我没有计划在不久的将来改变它。如何告诉浏览器缓存它?
答案 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年内不会检查图像是否被修改。