View a markdown version of this page

通用请求标头 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

通用请求标头

下表描述了各种类型的 Amazon S3 REST 请求可以使用的标头。

标头名称 说明
Authorization

请求身份验证所需的信息。有关更多信息,请转至《Amazon Simple Storage Service 开发人员指南》中的身份验证标头。对于匿名请求,不需要此标头。

Access-Control-Request-Method 作为预检 CORS 请求发送的 HTTP 方法的列表。如果预检 CORS 评估取得成功,则支持在以下 CORS 请求中使用指定的方法。
Content-Length

符合 RFC 2616 的消息的长度(不带标头)。此标头是加载 XML 的 PUT 和操作(例如日志记录和 ACL)所必需的。

Content-Type

如果请求在正文中有内容,则为该资源的内容类型。示例:text/plain

Content-MD5

根据 RFC 1864,消息(不含标头)的 base64 编码的 128 位 MD5 摘要。此标头可用作消息完整性检查,以验证数据是否与最初发送的数据相同。尽管它是可选的,但我们建议使用 Content-MD5 机制作为端到端完整性检查。有关 REST 请求身份验证的更多信息,请参阅《Amazon Simple Storage Service 开发人员指南》中的 REST 身份验证

Date

可以用于创建 Authorization 标头中包含的签名的日期。如果要将 Date 标头用于签名,则必须使用 ISO 8601 基本格式来指定它。在这种情况下,不需要 x-amz-date 标头。请注意,存在 x-amz-date 时,它始终会覆盖 Date 标头的值。

如果 Date 标头不用于签名,则可以为 RFC 2616 第 3.3 部分指定的完整日期格式之一。例如,日期/时间 Wed, 01 Mar 2006 12:00:00 GMT 是用于 Amazon S3 的有效日期/时间标头。

如果您要将 Date 标头用于签名,则它必须使用 ISO 8601 基本 YYYYMMDD'T'HHMMSS'Z' 格式。

如果指定了 Date,但它没有使用 ISO 8601 基本格式,则您还必须包括 x-amz-date 标头。如果使用 ISO 8601 基本格式指定了 Date,则它足够用于对请求签名,您无需 x-amz-date 标头。有关更多信息,请参阅《Amazon Web 服务词汇表》中的处理签名版本 4 中的日期

Expect

当应用程序使用 100-Continue 时,它不会发送请求正文,直到收到确认。如果根据标头拒绝了消息,则不会发送消息的正文。只有在发送正文时才能使用此标头。

有效值:100-continue

Host

对于路径类型请求,该值为 s3.amazonaws.com。对于虚拟类型请求,该值为 BucketName.s3.amazonaws.com。有关更多信息,请转至《Amazon Simple Storage Service 用户指南》中的虚拟托管

此标头对于 HTTP 1.1 是必需的(大多数工具包会自动添加此标头);而对于 HTTP/1.0 请求则是可选的。

Origin

用于指定初始请求者的服务器名称的端点。

x-amz-content-sha256

使用签名版本 4 对请求进行身份验证时,此标头提供请求有效载荷的哈希值。有关更多信息,请参阅 Authorization 标头的签名计算:在单个分块中传输有效载荷(Amazon 签名版本 4)。当分块上传对象时,您可以将值设置为 STREAMING-AWS4-HMAC-SHA256-PAYLOAD,以表示签名仅涵盖标头且没有有效载荷。有关更多信息,请参阅 Authorization 标头的签名计算:在多个分块中传输有效载荷(分块上传)(Amazon 签名版本 4)

x-amz-date

用于在 Authorization 标头中创建签名的日期。格式必须为使用 YYYYMMDD'T'HHMMSS'Z' 格式的 ISO 8601 基本格式。例如,日期/时间 20170210T120000Z 是用于 Amazon S3 的有效 x-amz-date

x-amz-date 对所有请求都是可选的;它可以用于覆盖对请求进行签名所使用的日期。如果使用 ISO 8601 基本格式指定了 Date 标头,则无需 x-amz-date。存在 x-amz-date 时,它始终会覆盖 Date 标头的值。有关更多信息,请参阅《Amazon Web 服务词汇表》中的处理签名版本 4 中的日期

x-amz-security-token

此标头可以在以下场景中使用:

  • 为 Amazon DevPay 操作提供安全令牌:使用 Amazon DevPay 的每个请求都需要两个 x-amz-security-token 标头:一个用于产品令牌,一个用于用户令牌。当 Amazon S3 收到经身份验证的请求时,它会将计算出的签名与提供的签名进行比较。用于计算签名的多值标头格式不正确可能会导致身份验证问题。

  • 在使用临时安全凭证时提供安全令牌:当使用从 IAM 获得的临时安全凭证发出请求时,必须使用此标头提供安全令牌。要了解有关临时安全凭证的更多信息,请参阅发出请求

使用 Amazon DevPay 的请求和使用临时安全凭证进行签名的请求都需要此标头。