SOP 【Same-Origin Policy】 同一生成元ポリシー / 同一生成源ポリシー / 同一源泉ポリシー / 同一オリジンポリシー
「オリジン」(origin)はコンテンツの発信源を識別するための概念で、URIスキーム(プロトコルの種類)、ホスト名(省略なしのドメイン名:FQDN)、ポート番号の組み合わせである。例えば、「http://www.example.com:80/」のURIスキームは「http」、ホスト名は「www.example.com」、ポート番号は「80」である。
この3つの組み合わせのうち、いずれか一つでも異なる場合は別のオリジンとみなされる。例えば、URIスキームの「http」と「https」の違い、ホスト名の「www.example.com」と「example.com」の違い、ポート番号の「80」と「443」の違いなどはすべてオリジンが異なると判断される。
ブラウザは原則として同じオリジンのリソース間では自由にアクセスや操作を許可するが、オリジンが異なる場合は何らかの制限を課している。XMLHttpRequestによる別オリジンへのアクセス禁止、iframe要素やJavaScriptのwindowオブジェクトを介したページ間のアクセスや操作の制限、Canvas描画の制限などである。
画像の埋め込み表示やスタイルシート(CSS)の外部参照など、別のオリジンでもほとんど何の制約も受けない場合もある。また、「CORS」(Cross-Origin Resource Sharing)のように、サイト管理者がHTTPヘッダで明示的に指定することにより、制限を一部緩和する仕組みも用意されている。
(2023.2.19更新)