CORS
クロス・オリジン・リソース共有(CORS)は、クロス・ドメイン通信を可能にし、ブラウザが別のドメインのリソースに安全にアクセスできるようにするメカニズムです。
デフォルトでは、JavaScriptなどのブラウザ・ベースのプログラミング言語は、同じドメインからのみリソースにアクセスできます。 ただし、CORSを使用すると、この制限が解消し、ドメイン間でリソースを管理できます。
これを可能にするために構成できるCORSヘッダーを次に示します。
CORSヘッダー |
目的 |
---|---|
Access-Control-Allow-Origin |
クライアント・アプリケーションのリソースの取得元となる、信頼できるオリジンまたはドメインのカンマ区切りリストを含めます。 |
Access-Control-Max-Age |
プリフライト結果キャッシュに要求の結果を格納する期間を指定します。 |
Access-Control-Allow-Methods |
要求で許可されるHTTPメソッドのカンマ区切りリストを含めます。 |
Access-Control-Allow-Headers |
要求で許可されるHTTPヘッダーのカンマ区切りリストを含めます。 |
Access-Control-Allow-Credentials |
クライアント・アプリケーションが要求でユーザー資格証明を送信できるかどうかを指定します。 |
例
クライアント・アプリケーションは、アプリケーションが実行されるサーバーAからリソースXを取得します。 次に、クライアント・アプリケーションが、サーバーBからリソースYを取得するためのHTTP要求を作成します。 このクロスサーバー要求が機能するには、サーバーBでAccess-Control-Allow-Origin
ヘッダーを構成する必要があります。 そうでない場合、要求は失敗し、エラー・メッセージが表示されて終了します。