【どういつおりじんぽりしー】
同一オリジンポリシー とは?
💡 よそのサイトのデータは勝手に覗けません
📌 このページのポイント
同一オリジンポリシーって何なの?
Webブラウザに備わっている「セキュリティの門番」みたいなものだよ。あるサイトのJavaScriptが、全く別のサイトのデータを勝手に読み取れないようにブロックする仕組みなんだ。
なんでそんなルールが必要なの?
たとえば悪意のあるサイトを開いたとき、そのサイトのスクリプトが裏であなたの銀行サイトの残高情報を読み取れたら怖いよね?同一オリジンポリシーがあるから、別のオリジン(サイト)のデータには勝手にアクセスできないんだ。
「オリジン」って具体的に何で決まるの?
3つの要素の組み合わせだよ。プロトコル(httpかhttpsか)、ドメイン(example.comなど)、ポート番号(80, 443など)。この3つが全て一致して初めて「同一オリジン」と判定される。たとえば http://example.com と https://example.com はプロトコルが違うから別オリジンだよ。
いいところに気づいたね。同一オリジンポリシーはあくまでブラウザ側の制御だよ。サーバー間の通信には適用されない。だからcurlコマンドやサーバーサイドのコードからは自由にアクセスできる。ブラウザ上のJavaScriptだけが制限されるんだ。
画像やCSSは別サイトから読み込めるけど、あれはどうなっているの?
<img>タグや<link>タグでの読み込みは「埋め込み」として許可されているんだ。制限されるのはJavaScriptからのデータ読み取り。画像は表示できても、JavaScriptでそのピクセルデータを読み取ろうとするとブロックされる。この微妙な違いがセキュリティの肝だよ。
Webの安全を支える大事な仕組みなんだね!
まとめ:ざっくりこれだけ覚えればOK!
「同一オリジンポリシー」って出てきたら「ブラウザが他サイトのデータを勝手に読めないようにするルール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Same-Origin Policy」 = 同一オリジンポリシー
💬 Origin(起源・出所)が同じかどうかでアクセスを制御する仕組みだよ。1995年にNetscape Navigator 2.0で初めて導入されたんだ