コンテンツへスキップ
uencoder

CORS Preflight

CORS プリフライトは、「単純でない」クロスオリジンリクエストの前に OPTIONS リクエストを送り、実際のリクエストが許可されるかをサーバーに問い合わせるブラウザのセキュリティステップである。

目的

副作用を伴いうるクロスオリジンリクエストが発火する前にサーバーの認可を取得し、クロスオリジンでの CSRF とデータ漏えいを防ぐ。

メカニズム

カスタムヘッダーや単純でないメソッドを伴うクロスオリジンリクエストに対して、ブラウザはまず Origin と Access-Control-Request-Method/Headers を載せた OPTIONS を送る。サーバーは Access-Control-Allow-Origin/Methods/Headers で応答し、プリフライトを通過すると実際のリクエストが送られる。

ユースケース

  • クロスオリジン API の呼び出し
  • カスタムヘッダーを伴うリクエスト
  • GET 以外のリクエスト

関連ツール

References