CORS

CORS (オリジン間リソース共有、 Cross-Origin Resource Sharing) は、 HTTP ヘッダーの転送で構成されるシステムであり、ブラウザーがオリジンをまたいだリクエストのレスポンスに、フロントエンドの JavaScript コードがアクセスすることをブロックするかどうかを決めるものです。

同一オリジンセキュリティポリシーは、既定でリソースへのオリジン間のアクセスを禁止しています。しかし、 CORS はウェブサーバーに、リソースへのオリジンをまたいだアクセスを許可すると言うことができるようにします。

理解を深める

一般知識

CORS のヘッダー

Access-Control-Allow-Origin

レスポンスを共有してよいかどうかを示します。

Access-Control-Allow-Credentials

認証情報フラグが true の場合、リクエストに対するレスポンスを公開してよいかどうかを示します。

Access-Control-Allow-Headers

プリフライトリクエストへのレスポンスで使用され、実際のリクエストを行う際に使用してよい HTTP ヘッダーを示します。

Access-Control-Allow-Methods

プリフライトリクエストへのレスポンスで、リソースにアクセスするときに使用してよいメソッドを指定します。

Access-Control-Expose-Headers

レスポンスの一部としてどのヘッダーを公開してよいかを、ヘッダー名を列挙することで示します。

Access-Control-Max-Age

プリフライトリクエストの結果をキャッシュできる時間を示します。

Access-Control-Request-Headers

プリフライトリクエストを発行する際に、実際のリクエストを行う際に使用される HTTP ヘッダーをサーバーに知らせるために使用します。

Access-Control-Request-Method

プリフライトリクエストを発行する際に、実際のリクエストを行う際に使用される HTTP メソッドをサーバーに知らせるために使用します。

Origin

どのオリジンからアクセスしているかを示します。

技術リファレンス