浏览器能够发送预检请求到KS3,来检测它是否能够发送一个包含指定的源,HTTP方法和请求头部的跨源资源共享请求。
通过用户为其某一空间配置 cors
规则,KS3能够支持跨源资源共享服务。当用户发送一个预检请求后,KS3会计算请求是否匹配设定的规则。
如果请求内容与规则不匹配,那么,KS3将返回一个 403 Forbidden
响应。
OPTIONS /ObjectName HTTP/1.1
Host: BucketName.kss.ksyun.com
Origin: Origin
Access-Control-Request-Method: HTTPMethod
Access-Control-Request-Headers: RequestHeader
该请求不使用请求参数。
该接口可以使用所有常用响应头部。获取更多信息,请点击常用响应头部。
名称 | 描述 | 必需 |
---|---|---|
Origin | 标识向KS3请求跨源资源共享的源,例如:http://www.example.com 。类型: String 默认值: 无 |
是 |
Access-Control-Request-Method | 标识实际发送跨源资源请求时所使用的HTTP方法。 类型: String 默认值: 无 |
是 |
Access-Control-Request-Headers | 一个逗点分隔的列表,标识实际发送跨源资源请求时使用的头部。 类型: String 默认值: 无 |
否 |
该接口不使用请求内容。
该接口可以使用所有常用响应头部。获取更多信息,请点击常用响应头部。
名称 | 描述 |
---|---|
Access-Control-Allow-Origin | 实际请求时的源地址,如果该源不被允许,在响应中,KS3不会包含此头部。 类型: String |
Access-Control-Max-Age | 预检请求结果能被缓存的时间,以秒为单位。 类型: String |
Access-Control-Allow-Methods | 源地址请求时使用的HTTP方法,如果此方法不被允许,在响应中,KS3将不包含此头部。 类型: String |
Access-Control-Allow-Headers | 在一个实际请求中,浏览器能发送的以逗号分隔的HTTP头部列表。如果其中任一个头部不被允许,在响应中,KS3将不会包含那个头部,同时也将不包含任一个 Access-Control 前缀的头部。类型: String |
Access-Control-Expose-Headers | 逗号分隔的HTTP头部列表。在响应一个实际请求中,允许JavaScript读取这些头部信息。 类型: String |
该接口不使用响应内容。
请求示例
OPTIONS /exampleobject HTTP/1.1
Host: bucketcors.kss.ksyun.com
Origin: http://www.example.com
Access-Control-Request-Method: PUT
响应示例
HTTP/1.1 200 OK
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-kss-request-id
Content-Length: 0
Server: Tengine