KDOC 570: CORSはサーバのリソースを保護しない

この文書のステータス

  • 作成
    • 2026-05-19 貴島
  • レビュー
    • 2026-05-19 貴島

概要

CORSは サーバ のリソースを保護するものと誤って理解していた。正しくはブラウザを保護するものである。

Access-Control-Allow-Origin がサーバ側に設定されていても、ブラウザ以外のHTTPクライアントでは無視される。

例を示す。

GET /submit HTTP/1.1
Host: example.com
Origin: https://anywhere.com

Access-Control-Allow-Origin: https://example.com

この場合、ブラウザは Origin が許可されていないため返ったレスポンスの読み取りを阻止する。しかし curl は同じリクエストでレスポンスをそのまま取得できる。

関連