😎
CORSとは何か?調べてみた
概要
CORS(Cross-Origin Resource Sharing)は、異なるオリジン間でのリソース共有を許可するための仕組みです。通常、ブラウザは同一オリジンのリソースにしかアクセスできませんが、CORSを使用することで異なるオリジンにもアクセス可能になります。
オリジンとは?
オリジンは、URLのスキーム(プロトコル)、ホスト(ドメイン)、ポート番号の組み合わせで定義されます。これらの要素がすべて一致していれば「同一オリジン」、一つでも異なれば「異なるオリジン」とみなされます。
例1: 同一オリジン
http://example.com/app1/index.html
http://example.com/app2/index.html
上記の2つのURLは、スキーム(http)、ホスト(example.com)、ポート(省略時はデフォルトのポート80)の全てが一致しているため、同一オリジンです。
例2: 異なるオリジン
http://example.com/app1
https://example.com/app2
これらのURLは、スキームが異なる(httpとhttps)ため、異なるオリジンとみなされます。
同一オリジンポリシー
ブラウザはセキュリティの観点から、異なるオリジンへのリソースアクセスをデフォルトで制限しています。これを「同一オリジンポリシー」と呼びます。しかし、CORSを利用することで、この制限を緩和し、異なるオリジン間でのリソース共有を可能にします。
Discussion