【问题标题】:How to force a web browser to cache Images如何强制网络浏览器缓存图像
【发布时间】:2010-11-20 02:21:53
【问题描述】:

我正在编写一个小应用程序,它提供来自本地计算机的图像,因此可以以http://localhost:12345/something/something 的形式访问它们(返回 jpeg)。

我怎样才能强制浏览器缓存这个,所以只有一个请求会被发送到服务器。这个标题是否足够

HTTP/1.1 200 OK
Cache-Control: public, max-age=99936000
Content-Length: 123456
Content-Type: image/jpeg

这似乎适用于 Firefox 3.x,但对于其他浏览器是否也足够全局?

【问题讨论】:

标签: http browser caching response


【解决方案1】:

Last-ModifiedExpires 标头也可能是有用的补充。

您的服务器还应检查带有 If-Modified-Since 标头的请求,并尽可能返回 304 Not Modified 响应以加快处理速度。

【讨论】:

    【解决方案2】:

    尝试过期的http头:http://en.wikipedia.org/wiki/List_of_HTTP_headers

    您可能必须将其与您的缓存控制合并

    【讨论】:

      【解决方案3】:

      你不能也不应该 - 这是用户的决定,不是你的。

      可以做的就是强烈建议使用正确的标头,但即便如此,您也应该期望以后不再处理大量 HEAD 请求。

      【讨论】:

      • 在某些情况下,您应该考虑带宽问题。
      • 响应者建议您不应该做某事而不是回答问题的响应是最令人讨厌的。除此之外,这实际上是一个合理的问题。
      • 当您拥有一个包含 410 万张图片且链接在不同网站上共享的图库时,请尝试这样说。
      猜你喜欢
      • 2010-09-12
      • 1970-01-01
      • 2011-10-16
      • 2011-10-08
      • 2020-12-19
      • 2014-05-24
      • 2018-06-22
      相关资源
      最近更新 更多