我们将图像托管在 Amazon S3 上,并通过 Amazon Cloudfront 提供服务。我们想减少我们的带宽费用。我们相信我们有相当多的带宽被盗,并希望开始使用签名 URL 来防止这种情况。但是,我们必须平衡这一点,因为每次我们发送一个新的签名 url,它都会使浏览器缓存的图像无效。
我们目前的计划是生成一个有效期为两个月的签名网址,然后在本地缓存并服务一个月,然后再生成一个新的签名网址。这将允许浏览器缓存图像更长时间。但是,这也意味着任何人都可以在长达两个月的时间内为图像占用带宽。
有什么方法可以让链接更快过期,但浏览器是否会继续缓存该图像?我知道当 url 为新的时间戳而辞职时,图像的 etag 和 If-Modified-Since 不会改变,但是浏览器不再知道在标头中发送这些值,因为就它而言,这是一个新网址。有没有办法解决这个问题?