次の方法で共有


Preflight File Request

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

Web ブラウザーまたは別のユーザー エージェントは、エージェントが作成する要求の配信元ドメイン、メソッド、ヘッダーを含むプレフライト要求を送信します。 Azure Filesに対して CORS が有効になっている場合、Azure Filesは、アカウント所有者が Set File Service Properties を使用して構成した CORS ルールに対してプレフライト要求を評価します。 Azure Files要求を受け入れるか拒否します。

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

プロトコルの可用性

有効なファイル共有プロトコル 利用可能
SMB はい
NFS はい

Request

次のように指定 Preflight File Request できます。 <account-name> をストレージ アカウントの名前に置き換えます。 を、要求のターゲットとなる共有、ディレクトリ、またはファイル リソースに置き換えます <file-resource>

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

http://<account-name>.file.core.windows.net/<file-resource>?restype=share

http://<account-name>.file.core.windows.net/<file-resource>?restype=directory
HTTP/1.1

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

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

URI パラメーター

[なし] :

要求ヘッダー

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

要求ヘッダー 説明
Origin 必須。 要求の発行元を指定します。 プレフライト要求の成功または失敗を決定するために、送信元はサービスの CORS ルールと照合されます。
Access-Control-Request-Method 必須。 要求のメソッド (または HTTP 動詞) を指定します。 プレフライト要求の成功または失敗を決定するために、メソッドはサービスの CORS ルールと照合されます。
Access-Control-Request-Headers 省略可能。 送信する要求ヘッダーを指定します。 存在しない場合、サービスは要求にヘッダーが含まれていないと見なします。
x-ms-allow-trailing-dot: { <Boolean> } 省略可能。 バージョン 2022-11-02 以降。 ブール値は、要求 URL に存在する末尾のドットをトリミングするかどうかを指定します。 詳細については、「共有、 ディレクトリ、ファイル、およびメタデータの名前付けと参照」を参照してください。

要求本文

[なし] :

Response

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

status code

操作に成功すると、状態コード 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 File Request 常に匿名で実行されます。 承認は必要ありません。資格情報が指定されている場合は無視されます。

Note

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

要求と応答の例

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

OPTIONS http://myaccount.file.core.windows.net/myshare/myfile  
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 機能に対してクエリを実行するメカニズムです。 そのため、特定のリソースを対象としていません。