【问题标题】:How to prevent loading image from cache when the src is a redirect url to the actual image file当 src 是指向实际图像文件的重定向 url 时,如何防止从缓存中加载图像
【发布时间】:2015-07-26 09:35:41
【问题描述】:

全部:

当我尝试解决从缓存加载图像时的问题时,我从这篇文章中得到了一些答案:How to force a web browser NOT to cache images

它谈到像

一样向 src 添加时间戳
<img src="picture.jpg?1222259157.415" alt="">

但在我的情况下,它不是直接的图像 url,它是来自 github 的头像 url,例如:

<img src="https://avatars.githubusercontent.com/u/614?v=3" alt="">

当我向它添加时间戳 79399.92599998368 时,它变为:

<img src="https://avatars.githubusercontent.com/u/614?v=379399.92599998368" alt="">

我想知道为什么这个 src 仍然可以正确识别并且即使 url 改变了也能得到图像?谁能告诉我为什么会这样以及浏览器如何处理这个问题?

谢谢

【问题讨论】:

    标签: html image google-chrome browser


    【解决方案1】:

    URL 中的问号 (?) 分隔位置和 query string,列出 GET 参数。

    在这种情况下,github 会简单地忽略这些参数并提供由 location 部分标识的图像。换句话说,github 只查看第一部分,因此总是提供相同的内容,但用户的浏览器显然无法预测这一点,因此如果整个 URL 不完全适合缓存的内容,则需要始终加载内容。

    【讨论】:

    • 您能提出更好的方法吗?
    • 我看到的唯一其他方法是在图像服务器上使用 HTTP 标头:stackoverflow.com/a/728685/1090166 但是由于您感兴趣的图像在 github 上(而不是由您自己控制),所以这是不可能的给你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    • 2012-01-07
    • 2013-06-03
    • 2018-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多