CORS(Cross-Origin Resource Sharing)は、**ブラウザ**が別オリジンへのリクエストを行うときに、サーバーが「どのオリジンからのアクセスを許可するか」をレスポンスヘッダで宣言する仕組み。
何が嬉しい?
- 同一オリジンポリシー(ブラウザの基本制約)を前提にしつつ、必要なケースだけ安全に「別オリジン通信」を許可できる
重要なヘッダ(代表)
OriginAccess-Control-Allow-OriginAccess-Control-Allow-MethodsAccess-Control-Allow-HeadersAccess-Control-Allow-Credentials
よくある落とし穴
- プリフライト(OPTIONS) が必要なケースがある(「単純リクエスト」以外)
- 認証情報(Cookie 等)を送る場合、
Access-Control-Allow-Origin: *は使えない
関連
- ブラウザ
- API
- サーバー
- (読み物)CORSってなにそれ食べれるの