銷售: 1-800-867-1380

預檢 Blob 要求

更新日期: 2013年11月

Preflight Blob Request 作業會查詢 Blob 服務的「跨原始資源共用」(CORS) 規則,再傳送實際要求。網頁瀏覽器或其他使用者代理程式會傳送預檢要求,其中包含代理程式想要提出之實際要求的原始網域、方法和標頭。如果啟用 Blob 服務的 CORS,則 Blob 服務會根據帳戶擁有者透過 設定 Blob 服務屬性 設定的 CORS 規則來評估預檢要求,然後接受或拒絕要求。

如需 CORS 和預檢要求的詳細資訊,請參閱<CORS 規格>及<跨原始資源共用 (CORS) 支援 Azure 儲存體服務>。

請使用下列格式指定 Preflight Blob Request。請以您的儲存體帳戶名稱取代 <account-name>。請以實際要求的目標容器或 Blob 資源取代 <blob-resource>

 

HTTP 動詞命令 要求 URI HTTP 版本

OPTIONS

http://<account-name> .blob.core.windows.net/<blob-resource>

HTTP/1.1

請注意,URI 一律需包含正斜線 (/),將主機名稱與 URI 的路徑和查詢部分隔開。在此作業中,URI 的路徑部分可以是空白,也可以指向任何容器或 Blob 資源。提出預檢要求時,此資源不一定存在。預檢要求會在服務層級根據服務的 CORS 規則進行評估,因此資源名稱是否存在並不會影響作業成功或失敗。

無。

下表描述必要的和選用的要求標頭。

 

要求標頭 說明

Origin

必要項。指定發出實際要求的來源。系統會根據服務的 CORS 規則檢查此來源以判斷預檢要求成功或失敗。

Access-Control-Request-Method

必要項。指定實際要求的方法 (或 HTTP 動詞命令)。系統會根據服務的 CORS 規則檢查此方法以判斷預檢要求失敗或成功。

Access-Control-Request-Headers

選擇性。指定將要傳送之實際要求的標頭,然後服務會假設傳送實際要求時不會傳送標頭。

無。

回應包括 HTTP 狀態碼和一組回應標頭。

成功的作業會傳回狀態碼 200 (確定)。

如需狀態碼的資訊,請參閱<狀態和錯誤碼>。

這項作業的回應包括下列標頭。回應也可能包括其他標準 HTTP 標頭。所有標準標頭都符合 HTTP/1.1 通訊協定規格

如需預檢要求標頭的詳細資訊,請參閱 CORS 規格

 

回應標頭 說明

Access-Control-Allow-Origin

允許的來源,如果預檢要求成功,則符合要求的原始標頭。

Access-Control-Allow-Methods

如果預檢要求成功,此標頭會設定為針對要求標頭 Access-Control-Request-Method 指定的一個或多個值。

Access-Control-Allow-Headers

如果預檢要求成功,此標頭會設定為針對要求標頭 Access-Control-Request-Headers 指定的一個或多個值。

Access-Control-Max-Age

指定使用者代理程式可快取未來要求之預檢要求的時間長度。

Access-Control-Allow-Credentials

指出是否可使用認證提出實際要求。此標頭一律設定為 true

無。

Preflight Blob Request 作業會驗證包含適當驗證標頭或包含共用存取簽章 (SAS) 的所有要求。

由於 OPTIONS 預檢要求會根據帳戶服務設定進行評估,因此不論資源是否存在,也會處理未經驗證的匿名要求。

下列範例傳送原始 www.contoso.com 的預檢要求,並將要求方法設定為 PUT,以及將要求標頭設定為 content-typeaccept

OPTIONS http://myaccount.blob.core.windows.net/mycontainer/myblockblob  HTTP/1.1
Accept: */*
Origin: www.contoso.com
Access-Control-Request-Method: PUT
Access-Control-Request-Headers: content-type, accept
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)
Content-Length: 0

回應指出已啟用服務的 CORS,且 CORS 規則符合預檢要求。

HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 60
Access-Control-Allow-Methods: PUT
Access-Control-Allow-Headers: accept,content-type

如果啟用服務的 CORS,且 CORS 規則符合預檢要求,服務會以狀態碼 200 (OK) 回應預檢要求。回應包含所需的 Access-Control 標頭。在此情況下,此要求會計費。

如果未啟用 CORS 或 CORS 規則不符合預檢要求,服務會以狀態碼 403 (Forbidden) 回應。在此情況下,此要求不會計費。

如果 OPTIONS 要求的格式不正確,服務會以狀態碼 400 (Bad Request) 回應,且此要求不會計費。未包含所需 OriginAccess-Control-Request-Method 標頭的要求,即為格式不正確之要求的一例。

請注意,預檢要求是查詢與特定儲存體帳戶相關聯的儲存體服務之 CORS 功能的機制。預檢要求不會針對特定資源。

另請參閱

本文對您有任何幫助嗎?
(剩餘 1500 個字元)
感謝您提供意見
顯示:
© 2014 Microsoft