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>