ホームページ  >  記事  >  ウェブフロントエンド  >  CORS プリフライトはリクエストのアクセス許可をどのように確認しますか?

CORS プリフライトはリクエストのアクセス許可をどのように確認しますか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-18 21:49:04991ブラウズ

How Does CORS Preflighting Verify Request Permissions?

CORS について: リクエストのプリフライト

Cross-Origin Resource Sharing (CORS) には、異なるオリジンからのリソースへの制御されたアクセスの有効化が含まれます。これを実現するために、ブラウザはリクエストが許可されているかどうかを確認する「プリフライト」メカニズムを実装します。 HTTP リクエストのプリフライトを正しく実装する方法は次のとおりです。

Access-Control-Allow-Origin ヘッダーを含むサーバー応答

前述したように、サーバーは「Access- Control-Allow-Origin" ヘッダーに適切な値 (すべてのオリジンを許可する場合は「*」など) を応答に追加します。このヘッダーはリクエストに対する権限を付与します。

OPTIONS リクエストによるプリフライト

リクエストをプリフライトするには、ブラウザは実際のリクエストの前に HTTP OPTIONS メソッドを使用して追加のリクエストを送信します。リクエスト。このリクエストには次のヘッダーが含まれます:

  • Access-Control-Request-Method: 実際のリクエストに使用されるメソッド (POST、GET など) を指定します。
  • Access-Control- Request-Headers: 実際のリクエストで使用される追加ヘッダー (X-Custom-Header など) をリストします。

プリフライトリクエストに対するサーバー応答

サーバーは、応答でこれらのプリフライト ヘッダーを確認する必要があります。リクエストが許可される場合、レスポンスには次のものが含まれる必要があります:

  • Access-Control-Allow-Origin: プリフライト リクエストと同じ値。
  • Access-Control-Allow-Methods:許可されるメソッドのリスト。
  • Access-Control-Allow-Headers: 許可されるヘッダーのリスト。

重要なことに、「Access-Control-Allow-Headers」ヘッダーは する必要があります。 not の値は「*」ですが、「Access-Control-Request-Headers」ヘッダーで指定されたヘッダーと一致する必要があります。

サーバーがこの応答をプリフライト要求に送信すると、ブラウザが実際のリクエストを行います。

追加リソース

CORS に関するさらに包括的な情報については、HTML5 Rocks ドキュメント (http://www.html5rocks) を参照してください。 com/en/tutorials/cors/

以上がCORS プリフライトはリクエストのアクセス許可をどのように確認しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。