我想知道是否可以让浏览器缓存带有签名网址的图像。
我想要的是为每个请求生成一个新的签名网址(相同的图像,但具有更新的签名),但不要让浏览器每次都重新下载它。
那么,假设与缓存相关的标头设置正确,并且除了查询字符串之外所有 URL 都是相同的,有什么办法让浏览器缓存它呢?
网址看起来像这样:
http://example.s3.amazonaws.com/magic.jpg?WSAccessKeyId=stuff&Signature=stuff&Expires=1276297463
http://example.s3.amazonaws.com/magic.jpg?WSAccessKeyId=stuff&Signature=stuff&Expires=1276297500
我们计划将电子标签设置为 md5sum,那么它至少会发现此时是同一张图像吗?
我的另一个选择是跟踪上次给出 URL 的时间,然后在旧 URL 过期之前开始给出新 URL,但我不想处理会话信息。
浏览器将使用整个 URL 进行缓存,包括请求参数。因此,如果您更改请求参数,它将实际上成为缓存中的新“密钥”,并且始终会下载该图像的新副本。这是广告服务领域的一种流行技术 - 您将随机数(或当前时间戳)添加到 URL 末尾作为参数,以确保浏览器始终返回服务器以发出新请求。
使其发挥作用的唯一方法是使 URL 静态 - 即通过使用 Apache 重写规则或某种代理。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)