跨域资源共享

Get Bucket cors

描述

Get Bucket cors 操作用于获取指定的 Bucket 目前的 CORS 规则,返回 PUT Bucket cors 请求的 body。

语法

GET /?cors HTTP/1.1
Host: ${BucketName}.{endpoint}
Content-Length: ${length}
Date: ${date}
Authorization: ${signature}

响应元素

参数描述
CORSConfigurationBucket 的 CORS 规则容器,可以指定 1-10 条 CORS 规则
类型:容器
默认:无
CORSRuleCORS 规则
类型:容器
默认:无
AllowedOrigin指定允许的跨域请求的来源,多个则以逗号分隔。每个来源字符串中允许使用最多一个‘*’通配符。如果来源指定为‘*’则表示允许所有的来源的跨域请求。
类型:非空字符串
AllowedMethod指定允许的跨域请求方法。
类型:枚举(GET、PUT、DELETE、POST、HEAD),多个则以逗号分隔
默认:无
AllowedHeader逗号分隔的 header 列表,控制在 OPTIONS 预取指令中 Access-Control-Request-Headers 头中指定的 header 是否允许。在 Access-Control-Request-Headers 中指定的每个 header 都必须在 AllowedHeader 中有一条对应的项。AllowedHeader 中的 header 值允许使用最多一个‘*’通配符。
类型:非空字符串
默认:无
ExposeHeader指定允许用户从应用程序中访问的响应头(例如一个 Javascript 的 XMLHttpRequest 对象)。不允许使用‘*’通配符。
类型:非空字符串
默认:无
MaxAgeSeconds指定浏览器对特定资源的预取(OPTIONS)请求返回结果的缓存时间,单位为秒。
类型:整型
默认:无

示例

Request

GET /?cors HTTP/1.1
HOST: dream.nos-eastchina1.126.net
Date: Wed, 01 Mar 2012 21:34:55 GMT
Authorization: NOS I_AM_ACCESS_ID:I_AM_SIGNATURE

Response

HTTP/1.1 200

<CORSConfiguration>
  <CORSRule>
    <AllowedOrigin>{origin}</AllowedOrigin>
    <AllowedMethod>{method}</AllowedMethod>
    <AllowedHeader>{header}</AllowedHeader>
    <ExposeHeader>{exposeheader}</ExposeHeader>
    <MaxAgeSeconds>{age}</MaxAgeSeconds>
  </CORSRule>
  <CORSRule>
    ...
  </CORSRule>
  ...
</CORSConfiguration>

细节描述

  1. 如果 CORS 规则不存在,返回 404 Not Found 错误,错误码 NoSuchCORSConfiguration。