缓存图像,但如果已更改则重新加载

时间:2014-12-14 11:19:03

标签: caching header

我有一个网站,用户可以上传他们的个人资料图片,其他用户可以看到。我希望浏览器缓存这些图片,但如果用户更改了他的图片,请再次检索。我怎么能这样做?谢谢。

示例:我打开一个页面,有很多个人资料图片。浏览器仅重新下载已更改的这些配置文件图片。

1 个答案:

答案 0 :(得分:1)

实施实体标签。只需在配置文件pic更改时将时间戳设置为etag

实体标记是一种将缓存合并到HTTP协议中的方法。当服务器返回响应时,它可以附加一个ETagheader,它给出一个值,该值表示响应客户端请求而返回的对象的状态。

当客户端下次请求相同的响应时,它可以在其请求中发回ETag,服务器可以比较它是否相同。如果相同,您将发送304响应,因此浏览器将使用缓存副本。 每次修改配置文件图片时,您只需要更改此E标记的值。因此,当用户第一次访问该页面时,他会获得一些带有E标签的图片。同时,如果某些图片得到更新,您必须更改其E标记值,因此下次用户加载该页面时,只需要下载更改的图片。

http://en.wikipedia.org/wiki/HTTP_ETag