View a markdown version of this page

附录:OPTIONS 对象 - Amazon Simple Storage Service

附录:OPTIONS 对象

说明

浏览器可以向 Amazon S3 发送此预检请求,以确定它能否发送包含特定源、HTTP 方法和标头的实际请求。

Amazon S3 通过可让您在存储桶上添加 cors 子资源来支持跨源资源共享(CORS)。当浏览器发送此预检请求时,Amazon S3 通过评估在 cors 配置中定义的规则进行响应。

如果未在存储桶上启用 cors,则 Amazon S3 会返回 403 Forbidden 响应。

有关 CORS 的更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的启用跨源资源共享

请求

语法

OPTIONS /ObjectName HTTP/1.1 Host: BucketName.s3.amazonaws.com Origin: Origin Access-Control-Request-Method: HTTPMethod Access-Control-Request-Headers: RequestHeader

请求参数

此操作不引入任何特定的请求参数,但它可能包含实际请求所需的任何请求参数。

请求标头

名称 描述 必填
Origin

标识向 Amazon S3 发出的跨源请求的源。例如,http://www.example.com。

类型:字符串

默认值:无

Access-Control-Request-Method

标识将在实际请求中使用哪种 HTTP 方法。

类型:字符串

默认值:无

Access-Control-Request-Headers

将在实际请求中发送的 HTTP 标头的以逗号分隔的列表。

例如,要放入采用服务器端加密的对象,此预检请求将确定它是否可以在请求中包含 x-amz-server-side-encryption 标头。

类型:字符串

默认值:无

请求元素

此操作的实施不使用请求元素。

响应

响应标头

标题 说明
Access-Control-Allow-Origin

您在请求中发送的源。如果不支持您的请求中的源,则 Amazon S3 不会在响应中包含此标头。

类型:字符串

Access-Control-Max-Age

可以缓存预检请求的结果的时长(以秒为单位)。

类型:字符串

Access-Control-Allow-Methods

在原始请求中发送的 HTTP 方法。如果不支持请求中的方法,则 Amazon S3 不会在响应中包含此标头。

类型:字符串

Access-Control-Allow-Headers

浏览器可以在实际请求中发送的 HTTP 标头的以逗号分隔的列表。如果不支持任何请求的标头,Amazon S3 将不会在响应中包含该标头,而响应也不会包含任何带有 Access-Control 前缀的标头。

类型:字符串

Access-Control-Expose-Headers

HTTP 标头的以逗号分隔的列表。此标头为 JavaScript 客户端提供了在针对实际请求的响应中访问这些标头的权限。

类型:字符串

响应元素

此操作的实施不返回响应元素。

示例

示例:向已启用 cors 的存储桶发送预检 OPTIONS 请求

浏览器可以将此预检请求发送到 Amazon S3,以确定它能否将实际的 PUT 请求从 http://www.example.com 源发送到名为 examplebucket 的 Amazon S3 存储桶。

示例请求

OPTIONS /exampleobject HTTP/1.1 Host: examplebucket.s3.amazonaws.com Origin: http://www.example.com Access-Control-Request-Method: PUT

示例响应

HTTP/1.1 200 OK x-amz-id-2: 6SvaESv3VULYPLik5LLl7lSPPtSnBvDdGmnklX1HfUl7uS2m1DF6td6KWKNjYMXZ x-amz-request-id: BDC4B83DF5096BBE Date: Wed, 21 Aug 2012 23:09:55 GMT Etag: "1f1a1af1f1111111111111c11aed1da1" Access-Control-Allow-Origin: http://www.example.com Access-Control-Allow-Methods: PUT Access-Control-Expose-Headers: x-amz-request-id Content-Length: 0 Server: AmazonS3