View a markdown version of this page

通用请求标头 - Amazon Simple Storage Service

通用请求标头

下表描述了各种类型的 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 标头的签名计算:在单个分块中传输有效载荷(AWS 签名版本 4)。当分块上传对象时,您可以将值设置为 STREAMING-AWS4-HMAC-SHA256-PAYLOAD,以表示签名仅涵盖标头且没有有效载荷。有关更多信息,请参阅 Authorization 标头的签名计算:在多个分块中传输有效载荷(分块上传)(AWS 签名版本 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 的请求和使用临时安全凭证进行签名的请求都需要此标头。