華為云計算 云知識 OPTIONS桶CheckBucketOptions
OPTIONS桶CheckBucketOptions

 

接口說明

OPTIONS,稱為預(yù)請求,是客戶端發(fā)送給服務(wù)端的一種請求,通常被用于檢測客戶端是否具有對服務(wù)端進行操作的權(quán)限。只有當預(yù)請求成功返回,客戶端才開始執(zhí)行后續(xù)的請求。

OBS允許在桶內(nèi)保存靜態(tài)的網(wǎng)頁資源,在正確的使用下,OBS的桶可以成為網(wǎng)站資源。在這種使用場景下,OBS中的桶作為服務(wù)端,需要處理客戶端發(fā)送的OPTIONS預(yù)請求。

要處理OPTIONS,OBS的桶必須已經(jīng)配置CORS,關(guān)于CORS的使用說明,請參見章節(jié) 設(shè)置桶的CORS配置。

URL
OPTIONS  https://obs.cn-north-4.myhuaweicloud.com/ 
請求參數(shù)
名稱 類型 IN 必選 描述
Authorization
 
string header

請求消息中可帶的簽名信息。

Date
 
string header

請求發(fā)起端的日期和時間,例如:Wed, 27 Jun 2018 13:39:15 +0000。 默認值:無。 條件:如果消息頭中帶了x-obs-date字段,則可以不帶該字段,其他情況下必選。

Origin
 
string header

預(yù)請求指定的跨域請求Origin(通常為域名)。

類型:字符串

Access-Control-Request-Method
 
string header

實際請求可以帶的HTTP方法,可以帶多個方法頭域。

類型:字符串

有效值:GET、PUT、HEAD、POST 、DELETE

Access-Control-Request-Headers
 
string header

實際請求可以帶的HTTP頭域,可以帶多個頭域。

類型:字符串

bucket_name
 
string query

請求的桶名稱。

返回參數(shù)
返回碼: 200

請求成功響應(yīng)消息。

名稱 類型 必選 描述
Content-Length
 
string

響應(yīng)消息體的字節(jié)長度。

Connection
 
string

指明與服務(wù)器的連接是長連接還是短連接。

Date
 
string

OBS系統(tǒng)響應(yīng)的時間。

ETag
 
string

對象的base64編碼的128位MD5摘要。ETag是對象內(nèi)容的唯一標識,可以通過該值識別對象內(nèi)容是否有變化。比如上傳對象時ETag為A,下載對象時ETag為B,則說明對象內(nèi)容發(fā)生了變化。實際的ETag是對象的哈希值。ETag只反映變化的內(nèi)容,而不是其元數(shù)據(jù)。上傳的對象或拷貝操作創(chuàng)建的對象,通過MD5加密后都有唯一的ETag。如果通過多段上傳對象,則無論加密方法如何,MD5會拆分ETag,此類情況ETag就不是MD5的摘要。

x-obs-id-2
 
string

幫助定位問題的特殊符號。

x-obs-request-id
 
string

由OBS創(chuàng)建來唯一確定本次請求的值,可以通過該值來定位問題。

Access-Control-Allow-Origin
 
string

如果請求的Origin滿足服務(wù)端的CORS配置,則在響應(yīng)中包含這個Origin。

類型:字符串

Access-Control-Allow-Headers
 
string

如果請求的headers滿足服務(wù)端的CORS配置,則在響應(yīng)中包含這個headers。

類型:字符串

Access-Control-Max-Age
 
integer

服務(wù)端CORS配置中的MaxAgeSeconds。

類型:整數(shù)

Access-Control-Allow-Methods
 
string

如果請求的Access-Control-Request-Method滿足服務(wù)端的CORS配置,則在響應(yīng)中包含這條rule中的Methods。

類型:字符串

有效值:GET、PUT、HEAD、POST 、DELETE

Access-Control-Expose-Headers
 
string

服務(wù)端CORS配置中的ExposeHeader。

類型:字符串

返回碼: 400

請求失敗響應(yīng)消息。 除了公共的錯誤碼外,此接口還會返回一些其他的錯誤碼。下面列出本接口的一些常見錯誤,以及可能原因。

錯誤碼 描述 HTTP狀態(tài)碼
Bad Request Invalid Access-Control-Request-Method: null。桶配置了CORS,OPTIONS桶時,沒有加入method頭域。 400 Bad Request
Bad Request Insufficient information. Origin request header needed.桶配置了CORS,OPTIONS桶時,沒有加入origin頭域。 400 Bad Request
名稱 類型 必選 描述
Code
 
string

錯誤響應(yīng)消息體XML中錯誤響應(yīng)對應(yīng)的HTTP消息返回碼,具體的錯誤碼請參見錯誤碼-表2。

Message
 
string

錯誤響應(yīng)消息體XML中具體錯誤更全面、詳細的英文解釋,具體的錯誤消息請參見錯誤碼-表2。

RequestId
 
string

本次錯誤請求的請求ID,用于錯誤定位。

HostId
 
string

返回該消息的服務(wù)端ID。

Resource
 
string

該錯誤相關(guān)的桶或?qū)ο筚Y源。

返回碼: 403

請求失敗響應(yīng)消息。 除了公共的錯誤碼外,此接口還會返回一些其他的錯誤碼。下面列出本接口的一些常見錯誤,以及可能原因。

錯誤碼 描述 HTTP狀態(tài)碼
AccessForbidden CORSResponse: This CORS request is not allowed. This is usually because the evalution of Origin, request method / Access-Control-Request-Method or Access-Control-Requet-Headers are not whitelisted by the resource's CORS spec.桶配置了CORS,OPTIONS桶時,Origin、method、Headers與任一rule匹配不上。 403 Forbidden
名稱 類型 必選 描述
Code
 
string

錯誤響應(yīng)消息體XML中錯誤響應(yīng)對應(yīng)的HTTP消息返回碼,具體的錯誤碼請參見錯誤碼-表2

Message
 
string

錯誤響應(yīng)消息體XML中具體錯誤更全面、詳細的英文解釋,具體的錯誤消息請參見錯誤碼-表2。

RequestId
 
string

本次錯誤請求的請求ID,用于錯誤定位。

HostId
 
string

返回該消息的服務(wù)端ID。

Resource
 
string

該錯誤相關(guān)的桶或?qū)ο筚Y源。

請求示例
示例 1
 
"/"
 
"OPTIONS / HTTP/1.1\nUser-Agent: curl/7.29.0\nHost: examplebucket.obs.cn-north-4.myhuaweicloud.com\nAccept: */*\nDate: WED, 01 Jul 2015 04:02:15 GMT\nAuthorization: OBS H4IPJX0TQTHTHEBQQCEC:7RqP1vjemo6U+Adv9/Y6eGzWrzA=\nOrigin: www.example.com\nAccess-Control-Request-Method: PUT\n"
錯誤碼
請參考 錯誤碼說明。