GetBucketcors用於獲取指定的Bucket目前的CORS規則。

請求文法

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

響應元素(Response Elements)

名稱 類型 描述
CORSRule 容器 CORS規則的容器,每個bucket最多允許10條規則。

父節點:CORSConfiguration

AllowedOrigin 字元串 指定允許的跨域請求的來源,允許使用多個元素來指定多個允許的來源。 允許使用最多一個“*”萬用字元。如果指定為“*”則表示允許所有的來源的跨域請求。

父節點:CORSRule

AllowedMethod 枚舉(GET,PUT,DELETE,POST,HEAD) 指定允許的跨域要求方法。

父節點:CORSRule

AllowedHeader 字元串 控制在OPTIONS預取指令中Access-Control-Request-Headers頭中指定的header是否允許。在Access-Control-Request-Headers中指定的每個header都必須在AllowedHeader中有一條對應的項。允許使用最多一個“*”萬用字元。

父節點:CORSRule

ExposeHeader 字元串 指定允許用戶從應用程式中訪問的回應標頭(例如一個Javascript的XMLHttpRequest對象。不允許使用“*”萬用字元。

父節點:CORSRule

MaxAgeSeconds 整型 指定瀏覽器對特定資源的預取(OPTIONS)請求返回結果的緩存時間,單位為秒。 一個CORSRule裡面最多允許出現一個。

父節點:CORSRule

CORSConfiguration 容器 Bucket的CORS規則容器

父節點:無

細節分析

  • 如果Bucket不存在,返回404 no content錯誤。錯誤碼:NoSuchBucket。
  • 只有Bucket的擁有者才能獲取CORS規則,否則返回403 Forbidden錯誤。錯誤碼:AccessDenied。
  • 如果CORS規則不存在,返回404 Not Found錯誤。錯誤碼:NoSuchCORSConfiguration。

樣本

請求樣本:

Get /?cors HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com  
Date: Thu, 13 Sep 2012 07:51:28 GMT
Authorization: OSS qn6qrrqxo2oawuk53otfjbyc: BuG4rRK+zNhH1AcF51NNHD39zXw=

已設定CORS規則的返回樣本:

HTTP/1.1 200
x-oss-request-id: 50519080C4689A033D00235F
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>
</CORSConfiguration>