![所有 S3 URL 之间有什么区别?](https://linux22.com/image/737400/%E6%89%80%E6%9C%89%20S3%20URL%20%E4%B9%8B%E9%97%B4%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F.png)
我想向互联网提供资产。我创建了一个民众桶网站托管已启用。
我发现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,这将很有帮助。此外,这也取决于用例。