メインコンテンツへ
短.be

CORS

Cross-Origin Resource Sharing の略。異なるオリジン間でのリソース共有を制御するブラウザのセキュリティ機構。

2025年8月16日 · 約 1 分で読めます

セキュリティ

CORS (Cross-Origin Resource Sharing) とは、 Web ブラウザが異なるオリジン (プロトコル + ドメイン + ポートの組み合わせ) 間でのリソース共有を制御するセキュリティ機構です。同一オリジンポリシーを緩和し、正当なクロスオリジンリクエストを許可するために使われます。

たとえば、 https://app.example.com のフロントエンドから https://api.example.com の API にリクエストを送る場合、サブドメインが異なるため「クロスオリジン」となり、 API サーバー側で CORS ヘッダーを設定しないとブラウザがレスポンスをブロックします。設定するヘッダーは Access-Control-Allow-Origin で、許可するオリジンを指定します。

CORS で見落とされがちなのがプリフライトリクエストです。 GET/POST 以外のメソッドや、カスタムヘッダーを含むリクエストでは、ブラウザが本番リクエストの前に OPTIONS メソッドで「このリクエストを送っていいですか?」と確認します。サーバー側で OPTIONS リクエストに適切に応答しないと、本番リクエストが送信されません。 API Gateway や Lambda で CORS を設定する際に、この OPTIONS の処理を忘れるのが実務上最も多いトラブルです。

Access-Control-Allow-Origin: * (全オリジン許可) は開発時には便利ですが、本番環境では認証情報 (Cookie) を含むリクエストと併用できません。認証が必要な API では、許可するオリジンを明示的に指定し、 Access-Control-Allow-Credentials: true を設定する必要があります。

短縮 URL サービスの API を外部から呼び出す場合、 CORS の設定が必須です。関連書籍は Amazon でも探せます。

X でシェアはてブ

この記事は役に立ちましたか?

関連用語

関連記事

よくある質問

CORS エラーが発生する原因は?
ブラウザが異なるオリジン (ドメイン、ポート、プロトコル) へのリクエストをブロックしているためです。サーバー側で Access-Control-Allow-Origin ヘッダーを設定することで解決できます。
CORS のプリフライトリクエストとは?
ブラウザが本リクエストの前に OPTIONS メソッドで送信する確認リクエストです。サーバーが許可するメソッドやヘッダーを事前に確認し、セキュリティを確保します。

短縮 URL を作成してみませんか?

無料で URL を短縮する