要求浏览器尽可能积极地进行缓存

bal*_*pha 34 browser caching http http-headers

这是关于提供图像的Web应用程序.由于相同的请求将始终返回相同的图像,我希望访问的浏览器尽可能积极地缓存图像.我非常想告诉浏览器

这是你的形象.继续保持它; 在接下来的几天里,它真的不会改变.无需再回来.真.我承诺.

到目前为止,我确实做到了

Cache-Control: public, max-age=86400
Last-Modified: (some time ago)
Expires: (two days from now)

当然,304 not modified如果请求具有适当的If-Modified-Since标题,则返回a .

有什么我可以做的(或者我应该采取不同的做法)将我的信息传递给浏览器吗?

该应用程序托管在Google App Engine上,以防万一.

Dan*_*llo 15

您可能有兴趣查看以下Google Code文章:

简而言之,所有现代浏览器都应该能够按照指示适当地缓存图像,并使用这些HTTP标头.


Sri*_*nan 10

你可以做得更好.304s仍然是HTTP请求/响应.虽然图像不会再次下载,但延迟可能会被终止.

如果您可以在图像名称中包含版本标识符,则可以将max-age设置为2年.这样,你可以防止304s.如果图像发生更改,则更新版本标识符,从而更改文件名.这可确保浏览器发出新请求.

它需要对项目结构进行一些更改.版本标识符可以是上次更新映像时的SVN修订版号,并且可以在构建时自动生成.您还需要更新html,因此如果您在图像名称和图像路径之间有逻辑映射,那么您的工作将更容易.

图像很少更新,因此如果您无法自动执行上述描述,您也可以按照手动方法进行操作.诀窍是只添加新图像,永远不要修改它们.