プレフライト キュー要求
この操作では 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
設定され、要求ヘッダーは と accept
にcontent-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 機能に対してクエリを実行するメカニズムです。 そのため、特定のリソースを対象としていません。