Rei*_*ica 8 caching http amazon-s3
我想知道我是否可以让浏览器使用签名网址缓存图片.
我想要的是为每个请求生成一个新的签名URL(相同的图像,但有更新的签名),但浏览器不能每次都重新下载它.
因此,假设正确设置了与缓存相关的标头,并且除了查询字符串之外所有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
Run Code Online (Sandbox Code Playgroud)
我们计划将电子标签设置为md5sum,那么它至少会弄清楚它在那时的图像是否相同?
我的另一个选择是跟踪上次发布网址的时间,然后在旧网址过期之前稍微开始发布新内容,但我不想处理会话信息.
浏览器将使用整个 URL 进行缓存,包括请求参数。因此,如果您更改请求参数,它将有效地成为缓存中的新“密钥”,并且将始终下载该图像的新副本。这是广告服务领域的一种流行技术——您在 URL 末尾添加一个随机数(或当前时间戳)作为参数,以确保浏览器始终返回服务器以发出新请求。
使此功能起作用的唯一方法是可以使 URL 静态化 - 即通过使用 Apache 重写规则或某种代理。
小智 5
我在使用 S3 签名 URL 时遇到了完全相同的问题。我想到的唯一解决方案是让 URL 在同一天过期。这并不理想,但至少它可以提供一段时间的缓存。
例如,所有 4 月份签署的 URL 我都将到期日设置为 5 月 10 日。所有 6 月签署的 URL 我都设置为 7 月 10 日到期。这意味着签名的 URL 在整个月内都是相同的。
| 归档时间: |
|
| 查看次数: |
2980 次 |
| 最近记录: |