😎

CORSとは何か?調べてみた

2024/09/09に公開

概要

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)ため、異なるオリジンとみなされます。

https://developer.mozilla.org/ja/docs/Glossary/Origin

同一オリジンポリシー

ブラウザはセキュリティの観点から、異なるオリジンへのリソースアクセスをデフォルトで制限しています。これを「同一オリジンポリシー」と呼びます。しかし、CORSを利用することで、この制限を緩和し、異なるオリジン間でのリソース共有を可能にします。

Discussion