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-
どのオリジンからアクセスしているかを示します。
Timing-Allow-Origin-
クロスオリジン制限のため通常はゼロとして報告される、リソースタイミング API の機能を通じて取得された属性の値を、閲覧をすることができるオリジンを指定します。
関連情報
- オリジン間リソース共有 (CORS)
- クロスオリジンリソース共有 - ウィキペディア
- Fetch 仕様書(英語)