最近更新时间:2023-01-05 21:20:54
浏览器能够发送预检请求到KS3,来检测它是否能够发送一个包含指定的源,HTTP方法和请求头部的跨域资源共享请求。
通过用户为其某一空间配置 cors
规则,KS3能够支持跨域资源共享服务。当用户发送一个预检请求后,KS3会计算请求是否匹配设定的规则。
OPTIONS /{ObjectName} HTTP/1.1
Host: {BucketName}.{endpoint}
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 /my-image.jpg HTTP/1.1
Host: ks3-example.ks3-cn-beijing.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: KS3
错误码 | HTTP状态码 | 描述 |
---|---|---|
AccessDenied | 403 Forbidden | CORS功能未开启或请求内容与规则不匹配。 |
纯净模式