📑
CORSについて(取っ掛かり部分のみ)
はじめに
業務をしている中でCORSエラーにハマり、よく知らなかったため
軽くどんなものか調査した。
そもそもCORSとは?
CORS(Cross-Origin Resource Sharing)
とはクロスオリジンリソース共有と言い、
あるオリジンで動作しているWebAppに異なるオリジンにある選択されたリソースへの
アクセス権を与えるよう、ブラウザに指示する仕組み。
なるほど...オリジンって何?
URLで使われる、スキーム(httpやhttpsなど)、ホスト(api.example.comなど)、
ポート番号の組み合わせで定義されるもの。
なので例えば、http://example.com:8080
みたいなのがオリジンと呼ばれる。
なぜCORSが必要なのか
セキュリティ上の理由から、ブラウザーではスクリプト上によって開始されるオリジン間の
HTTPリクエストを制限している。このセキュリティ上のポリシーを同一生成元ポリシー
といい、
これにより、同じオリジン間でしかHTTPリクエストのやり取りができないため、CORSが必要となる。
ちなみに、XMLHttpRequest
やFetch API
はこの同一生成元ポリシー
に従っている。
おわりに
CORSの取っ掛かり部分だけについて書いた。
調べているうちにWebサイトのIP制限と違いがあるのか疑問に思ったので、調べてみようと思う。
参考
Discussion