次の方法で共有


プレフライト キュー要求

この操作では Preflight Queue Request 、要求を送信する前に、Azure Queue Storage のクロスオリジン リソース共有 (CORS) 規則に対してクエリを実行します。

Web ブラウザーまたは別のユーザー エージェントは、エージェントが作成する要求の配信元ドメイン、メソッド、ヘッダーを含むプレフライト要求を送信します。 キュー ストレージに対して CORS が有効になっている場合、Queue Storage は、アカウント所有者が キュー サービスのプロパティの設定を使用して構成した CORS 規則に対してプレフライト要求を評価します。 その後、キュー ストレージは要求を受け入れるか拒否します。

CORS とプレフライト要求の詳細については、Azure Storage の CORS 仕様CORS サポートに関するページを参照してください。

要求

次のように指定 Preflight Queue Request できます。 <account-name> をストレージ アカウントの名前に置き換えます。 を、要求のターゲットとなるキュー リソースの名前に置き換えます <queue-resource>

HTTP 動詞 要求 URI HTTP バージョン
OPTIONS http://<account-name> .queue.core.windows.net/<queue-resource> HTTP/1.1

URI のパスとクエリ部分からホスト名を区切るために、URI には常にスラッシュ (/) を含める必要があります。 この操作の場合、URI のパス部分は空にすることも、任意のキュー リソースを指すことができます。

プリフライト要求が行われた時点で、リソースが存在する場合と存在しない場合があります。 プレフライト要求はサービス の CORS 規則に対してサービス レベルで評価されるため、リソース名の有無は操作の成功または失敗には影響しません。

URI パラメーター

なし。

要求ヘッダー

次の表では、必須および省略可能な要求ヘッダーについて説明します。

要求ヘッダー 説明
Origin 必須。 要求の発行元を指定します。 プレフライト要求の成功または失敗を決定するために、送信元はサービスの CORS ルールと照合されます。
Access-Control-Request-Method 必須。 要求のメソッド (または HTTP 動詞) を指定します。 プレフライト要求の成功または失敗を決定するために、メソッドはサービスの CORS ルールと照合されます。
Access-Control-Request-Headers 省略可能。 送信する要求ヘッダーを指定します。 存在しない場合、サービスは要求にヘッダーが含まれていないと見なします。

要求本文

なし。

[応答]

応答には、HTTP 状態コードおよび一連の応答ヘッダーが含まれています。

状態コード

操作に成功すると、状態コード 200 (OK) が返されます。

状態コードの詳細については、「 状態とエラー コード」を参照してください。

応答ヘッダー

この操作の応答には、次のヘッダーが含まれています。 応答には、追加の標準 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 Queue Request 常に匿名で実行されます。 承認は必要ありません。資格情報が指定されている場合は無視されます。

注意

Azure Storage 分析を有効にし、メトリックをログに記録している場合、操作の Preflight Queue Request 呼び出しは として AnonymousSuccessログに記録されます。 このため、Azure portalでメトリックを表示すると、 のログが表示AnonymousSuccessされますPreflight Queue Request。 このメトリックは、プライベート データが侵害されたことを示すものではなく、操作が Preflight Queue Request 200 (OK) の状態コードで成功したことを示しています。

要求と応答の例

次の例では、配信元 に対してプレフライト要求を送信します www.contoso.com。 要求メソッドは にPUT設定され、要求ヘッダーは と acceptcontent-type設定されます。

OPTIONS http://myaccount.queue.core.windows.net/myqueue  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 (無効な要求) で応答し、要求は課金されません。 形式が正しくない要求の例として、必須 Origin ヘッダーと Access-Control-Request-Method ヘッダーが含まれていない要求があります。

プレフライト要求は、特定のストレージ アカウントに関連付けられているストレージ サービスの CORS 機能に対してクエリを実行するメカニズムです。 そのため、特定のリソースを対象としていません。

関連項目

アカウントに対する操作 (キュー ストレージ)
Azure Storage の CORS サポート