Dav*_*ams 5 url amazon-s3 amazon-web-services
就 s3 网址而言,真的有 2 种吗?为什么?有哪些不同的语法?
bucket.s3.amazonaws.com/key
Run Code Online (Sandbox Code Playgroud)
和
s3.amazonaws.com/bucket/key
Run Code Online (Sandbox Code Playgroud)
是这个吗?为什么有2个?还有更多吗?这些正确吗?
AWS 正在弃用旧的路径样式 URL:https : //aws.amazon.com/blogs/aws/amazon-s3-path-deprecation-plan-the-rest-of-the-story/
旧版与新版 S3 目前支持两种不同的寻址模型:路径式和虚拟托管式。让我们快速浏览一下。路径样式模型如下所示(全局 S3 端点):
https://s3.amazonaws.com/jbarr-public/images/ritchie_and_thompson_pdp11.jpeg https://s3.amazonaws.com/jeffbarr-public/classic_amazon_door_desk.png
或者这个(区域 S3 端点之一):
https://s3-us-east-2.amazonaws.com/jbarr-public/images/ritchie_and_thompson_pdp11.jpeg https://s3-us-east-2.amazonaws.com/jeffbarr-public/classic_amazon_door_desk.png
在这个例子中,jbarr-public 和 jeffbarr-public 是桶名;/images/ritchie_and_thompson_pdp11.jpeg 和 /classic_amazon_door_desk.png 是对象键。
尽管这些对象由不同的 AWS 账户拥有并且位于不同的 S3 存储桶中(并且可能位于不同的 AWS 区域中),但它们都位于 DNS 子域 s3.amazonaws.com 中。在我们查看等效的虚拟托管样式参考时保持这种想法(尽管您可能认为这些是“新的”,但它们至少从 2010 年就已经存在了):
https://jbarr-public.s3.amazonaws.com/images/ritchie_and_thompson_pdp11.jpeg https://jeffbarr-public.s3.amazonaws.com/classic_amazon_door_desk.png
这些 URL 引用相同的对象,但这些对象现在位于不同的 DNS 子域中(分别为 jbarr-public.s3.amazonaws.com 和 jeffbarr-public.s3.amazonaws.com)。区别很微妙,但非常重要。当您使用 URL 引用对象时,DNS 解析用于将子域名映射到 IP 地址。对于路径样式模型,子域始终是 s3.amazonaws.com 或区域端点之一;对于虚拟托管样式,子域特定于存储桶。这种额外的端点特异性是为 S3 的许多重要改进打开大门的关键。
为 S3 中的对象提供多个 URL 模式的附加功能是由于虚拟主机和网站托管以及从根目录发布数据。我从
在 Bucket 起始 URL 样式中 -bucket.s3.amazonaws.com/key
您可以简单地添加像 favicon、robots.txt 等文件,就像在其他 URL 模式中一样 - s3.amazonaws.com/bucket/key
- 没有可以放置这些文件的根目录的概念。
来自 AWS S3 页面的内容片段 - 存储桶的虚拟托管:
通常,虚拟主机是从单个 Web 服务器为多个 Web 站点提供服务的做法。区分站点的一种方法是使用请求的明显主机名,而不仅仅是 URI 的路径名部分。一个普通的 Amazon S3 REST 请求通过使用 Request-URI 路径的第一个斜杠分隔组件来指定一个存储桶。或者,您可以使用 Amazon S3 虚拟托管通过 HTTP Host 标头在 REST API 调用中寻址存储桶。在实践中,Amazon S3 将 Host 解释为大多数存储桶可以在http://bucketname.s3.amazonaws.com上自动访问(对于有限类型的请求) . 此外,通过以您注册的域名命名您的存储桶并将该名称设为 Amazon S3 的 DNS 别名,您可以完全自定义您的 Amazon S3 资源的 URL,例如http://my.bucketname.com/。
除了自定义 URL 的吸引力之外,虚拟主机的第二个好处是能够发布到存储桶虚拟服务器的“根目录”。此功能非常重要,因为许多现有应用程序会在此标准位置搜索文件。例如,favicon.ico、robots.txt、crossdomain.xml 都希望在根目录下找到。
归档时间: |
|
查看次数: |
4695 次 |
最近记录: |