ETag 在 Amazon S3 预签名中的使用 URL

ETag usage with Amazon S3 Pre-signed URL

用例:我们有客户端可以使用预签名 URL 从 S3 存储下载图片并定期刷新它们。如果图片没有变化,我们就不需要重新下载了。 问题:如果图片 URL 可以更改(例如,在预签名 URL 到期后),我们可以使用 ETag 和 if-none-matchheader 来解决我们的问题吗?

我们成功地使用 Etag 与 S3 Pre-signed URL 进行了测试。 如果内容相同,您可以在 Pre-signed URL 中发送带有 if-none-match header 的 Etag 并接收 304 not modified。无论URL如何,它都会起作用,例如

  1. 您将获得 10 分钟后过期的 URL 并将其用于下载图像。
  2. 然后你保存这张图片的Etag
  3. 一小时后,当第一个 URL 过期时,您将获得第二个 URL 检查图像是否已更改
  4. 现在您在 header 中发送已保存的 Etag,第二个 URL