【问题标题】:Tell the browser to drop cache of image告诉浏览器删除图像缓存
【发布时间】:2017-03-14 12:28:07
【问题描述】:

我有一个常见问题,当用户更改他们的个人资料图片时,它不会立即出现在网页上,他们会一直看到旧的,直到浏览器决定删除缓存的版本。

这个问题的常见解决方案是添加一些唯一的查询字符串,这样浏览器就不会缓存它,比如img.png?cache-breaker=rjqwrj0。

这给我带来了另一个问题 - 它被记录在网络服务器的访问日志中,并且在解析它们时,每个请求都被计为一个单独的资源,实际上它使用不同的查询字符串请求相同的资源。

在客户端是否有任何特定的解决方案,我可以告诉浏览器显式删除用户将要上传的图像的缓存,以便在页面刷新时再次下载?

【问题讨论】:

    标签: javascript http caching browser


    【解决方案1】:
    <img src="img.png?lastmod=yourtimeinnumbers"...
    

    它将为 img 提供一个缓存选项,而不会删除浏览器缓存

    【讨论】:

      【解决方案2】:

      也许您可以对个人资料图片文件进行版本控制。像v=0.1 这样的常见版本控制会暴露用户更改图片的次数,因此最好使用 uuid。每次用户上传新图像时,更改 uuid。

      img.png?v=<some generated uuid>
      

      这样您每次文件更改都会获得一个新的 URL。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-28
        • 2014-03-08
        • 2015-12-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多