CORS Preflight
CORS プリフライトは、「単純でない」クロスオリジンリクエストの前に OPTIONS リクエストを送り、実際のリクエストが許可されるかをサーバーに問い合わせるブラウザのセキュリティステップである。
目的
副作用を伴いうるクロスオリジンリクエストが発火する前にサーバーの認可を取得し、クロスオリジンでの CSRF とデータ漏えいを防ぐ。
メカニズム
カスタムヘッダーや単純でないメソッドを伴うクロスオリジンリクエストに対して、ブラウザはまず Origin と Access-Control-Request-Method/Headers を載せた OPTIONS を送る。サーバーは Access-Control-Allow-Origin/Methods/Headers で応答し、プリフライトを通過すると実際のリクエストが送られる。
ユースケース
- クロスオリジン API の呼び出し
- カスタムヘッダーを伴うリクエスト
- GET 以外のリクエスト