CORS(Cross Origin Resource Sharing),即跨域資源共享,是W3C標準化組織提出的一種規(guī)范機制,允許客戶端的跨域請求的配置。在通常的網頁請求中,由于安全策略SOP(Same Origin Policy)的存在,一個網站的腳本和內容是不能與另一個網站的腳本和內容發(fā)生交互的。
OBS允許在桶內保存靜態(tài)的網頁資源,在正確的使用下,OBS的桶可以成為網站資源(請參見設置桶的網站配置)。只有進行了適當?shù)腃ORS配置,OBS中的網站才能響應另一個網站的跨域請求。
典型的應用場景如下:
你可以使用CORS支持,使用JavaScript和HTML 5來構建Web應用,直接訪問OBS中的資源,而不再需要代理服務器做中轉。 可以使用HTML 5中的拖拽功能,直接向OBS上傳文件,展示上傳進度,或是直接從Web應用中更新內容。 托管在不同域中的外部網頁、樣式表和HTML 5應用,現(xiàn)在可以引用存儲在OBS中的Web字體或圖片,讓這些資源能被多個網站共享。 要正確執(zhí)行此操作,需要確保執(zhí)行者有PutBucketCORS權限。默認情況下只有桶的所有者可以執(zhí)行此操作,也可以通過設置桶策略或用戶策略授權給其他用戶。
| 名稱 | 類型 | IN | 必選 | 描述 |
|---|---|---|---|---|
|
Authorization
|
string | header | 是 |
請求消息中可帶的簽名信息。 |
|
Date
|
string | header | 否 |
請求發(fā)起端的日期和時間,例如:Wed, 27 Jun 2018 13:39:15 +0000。 默認值:無。 條件:如果消息頭中帶了x-obs-date字段,則可以不帶該字段,其他情況下必選。 |
|
Content-MD5
|
string | header | 是 |
按照RFC 1864標準計算出消息體的MD5摘要字符串,即消息體128-bit MD5值經過base64編碼后得到的字符串。也支持設置Content-SHA256頭域,其值為消息體256-bit SHA256值經過base64編碼后得到的字符串,Content-MD5和Content-SHA256二選一。 類型:字符串 示例:n58IG6hfM7vqI4K0vnWpog== |
|
bucket_name
|
string | query | 是 |
請求的桶名稱。 |
|
cors
|
string | query | 是 |
cors表示請求桶的CORS配置API。 |
| 名稱 | 類型 | 必選 | 描述 |
|---|---|---|---|
|
CORSRule
|
Array of CORSRule objects | 是 |
CORS規(guī)則,CORSConfiguration下可最多包含100個規(guī)則。 |
| 名稱 | 類型 | 必選 | 描述 |
|---|---|---|---|
|
ID
|
string | 否 |
一條Rule的標識,由不超過255個字符的字符串組成。 類型:字符串。 父節(jié)點:CORSRule。 |
|
AllowedMethod
|
Array of strings | 是 |
CORS規(guī)則允許的Method。 類型:字符串。 有效值:GET、PUT、HEAD、POST 、DELETE 父節(jié)點:CORSRule。 |
|
AllowedOrigin
|
string | 是 |
CORS規(guī)則允許的Origin(表示域名的字符串),可以帶一個匹配符””。每一個AllowedOrigin可以帶最多一個“”通配符。 類型:字符串。 父節(jié)點:CORSRule。 |
|
AllowedHeader
|
string | 否 |
配置CORS請求中允許攜帶的“Access-Control-Request-Headers”頭域。如果一個請求帶了“Access-Control-Request-Headers”頭域,則只有匹配上AllowedHeader中的配置才認為是一個合法的CORS請求。每一個AllowedHeader可以帶最多一個“*”通配符,不可出現(xiàn)空格。 類型:字符串。 父節(jié)點:CORSRule。 |
|
MaxAgeSeconds
|
string | 否 |
客戶端可以緩存的CORS響應時間,以秒為單位。 每個CORSRule可以包含至多一個MaxAgeSeconds,可以設置為負值。 類型:整數(shù)。 父節(jié)點:CORSRule。 |
|
ExposeHeader
|
string | 否 |
CORS響應中帶的附加頭域,給客戶端提供額外的信息,不可出現(xiàn)空格。 類型:字符串。 父節(jié)點:CORSRule。 |
請求成功響應消息。
| 名稱 | 類型 | 必選 | 描述 |
|---|---|---|---|
|
Content-Length
|
string | 否 |
響應消息體的字節(jié)長度。 |
|
Connection
|
string | 否 |
指明與服務器的連接是長連接還是短連接。 |
|
Date
|
string | 否 |
OBS系統(tǒng)響應的時間。 |
|
ETag
|
string | 否 |
對象的base64編碼的128位MD5摘要。ETag是對象內容的唯一標識,可以通過該值識別對象內容是否有變化。比如上傳對象時ETag為A,下載對象時ETag為B,則說明對象內容發(fā)生了變化。實際的ETag是對象的哈希值。ETag只反映變化的內容,而不是其元數(shù)據。上傳的對象或拷貝操作創(chuàng)建的對象,通過MD5加密后都有唯一的ETag。如果通過多段上傳對象,則無論加密方法如何,MD5會拆分ETag,此類情況ETag就不是MD5的摘要。 |
|
x-obs-id-2
|
string | 否 |
幫助定位問題的特殊符號。 |
|
x-obs-request-id
|
string | 否 |
由OBS創(chuàng)建來唯一確定本次請求的值,可以通過該值來定位問題。 |
