所有 S3 URL 之间有什么区别?

所有 S3 URL 之间有什么区别?

我想向互联网提供资产。我创建了一个民众网站托管已启用。

我发现AWS 支持几种类型的 URL:

# HTTP + HTTPS
https://<bucket>.s3.amazonaws.com/<file>

# HTTP only!
http://<bucket>.s3-website-<region>.amazonaws.com/<file>

# HTTP + HTTPS
# Will be removed
# See https://forums.aws.amazon.com/ann.jspa?annID=6776
https://s3.<region>.amazonaws.com/<bucket>/<file>

为什么有这么多格式?哪一种是首选?

从我的角度来看,第一个 URL 更简单并且支持 HTTPS,所以在我看来它更好,但是使用它有什么缺点吗?

答案1

第一和第三是REST URL第二个是网址- 它们都可以从同一个存储桶中提供,但行为略有不同,用途也不同。请参阅Amazon 网站和 REST API 端点之间的主要区别

我不相信第三种形式会很快被删除(AWS 在弃用现有的东西方面非常保守),但它不是推荐的方式,因为事实上在某些情况下重定向到第一个表单。如果您直接使用第一个表单,则可以省去重定向。

希望有帮助:)

答案2

是的,如果你想跨区域做某事,用代码管理 URL 会很困难,所以选择一些容易编码的东西。每当你想要引用不同区域的 S3 存储桶时,你不需要创建不同的 URL。由于基于路径的 URL 即将退役,我的偏好将是包含区域的 URL。假设情况

url = http://<bucket>.s3-website-<region>.amazonaws.com/

从这个 URL 中,我可以引用不同地区的 bucket,如果您需要跨地区的 bucket 类似 URL,这将很有帮助。此外,这也取决于用例。

相关内容