GetBucketCors

GetBucketCors接口用于获取指定存储空间(Bucket)当前的跨域资源共享CORS(Cross-Origin Resource Sharing)规则。

请求语法

GET /?cors HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue

请求头

此接口仅涉及公共请求头。更多信息,请参见公共请求头(Common Request Headers)

响应头

此接口仅涉及公共响应头。更多信息,请参见公共响应头(Common Response Headers)

响应元素

名称

类型

示例值

描述

CORSRule

容器

不涉及

CORS规则的容器。每个Bucket最多允许10条规则。

父节点:CORSConfiguration

AllowedOrigin

字符串

*

允许的跨域请求来源。 星号(*)表示允许所有的来源的跨域请求。

父节点:CORSRule

AllowedMethod

枚举(GET,PUT,DELETE,POST,HEAD)

GET

允许的跨域请求方法。

父节点:CORSRule

AllowedHeader

字符串

*

控制在OPTIONS预取指令中Access-Control-Request-Headers指定的header是否允许。在Access-Control-Request-Headers中指定的每个header都在AllowedHeader中有一条对应的项。

父节点:CORSRule

ExposeHeader

字符串

x-oss-test

允许用户从应用程序中访问的响应头(例如一个JavaScript的XMLHttpRequest对象)。

父节点:CORSRule

MaxAgeSeconds

整型

100

浏览器对特定资源的预取(OPTIONS)请求返回结果的缓存时间。 一个CORS规则里面最多允许出现一个MaxAgeSeconds。

单位:秒

父节点:CORSRule

CORSConfiguration

容器

不涉及

Bucket的CORS规则容器。

父节点:无

ResponseVary

布尔

false

是否返回Vary: Origin头。

  • true:不管发送的是否是跨域请求或跨域请求是否成功,均会返回Vary: Origin头。

  • false:任何情况下均不返回Vary: Origin头。

父节点:CORSConfiguration

示例

请求示例

Get /?cors HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com  
Date: Thu, 13 Sep 2012 07:51:28 GMT
Authorization: OSS qn6q**************:77Dv****************

返回示例

HTTP/1.1 200
x-oss-request-id: 50519080C4689A033D00****
Date: Thu, 13 Sep 2012 07:51:28 GMT
Connection: keep-alive
Content-Length: 218  
Server: AliyunOSS
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration>
    <CORSRule>
      <AllowedOrigin>*</AllowedOrigin>
      <AllowedMethod>GET</AllowedMethod>
      <AllowedHeader>*</AllowedHeader>
      <ExposeHeader>x-oss-test</ExposeHeader>
      <MaxAgeSeconds>100</MaxAgeSeconds>
    </CORSRule>
    <ResponseVary>false</ResponseVary>
</CORSConfiguration>

SDK

此接口所对应的各语言SDK如下:

错误码

错误码

HTTP 状态码

描述

NoSuchBucket

404

目标Bucket不存在。

NoSuchCORSConfiguration

404

目标CORS规则不存在。

AccessDenied

403

只有Bucket的拥有者才能获取CORS规则。