同一生成元ポリシー

Jesse Ruderman によって管理されているページ

同一生成元ポリシーによって、ある生成元から読み込まれた文書やスクリプトが、異なる生成元からの文書のプロパティを取得したり設定したりするのを防ぎます。このポリシーは Netscape Navigator 2.0 までさかのぼります。

もしプロトコル、(与えられていれば)ポート、及びホストが両方のページで同じならば、Mozilla は二つのページが同一生成元を持っていると見なします。説明するために、以下の表では URL http://store.company.com/dir/page.html との生成元の比較の例を挙げています。

URL 結果 理由
http://store.company.com/dir2/other.html
成功
http://store.company.com/dir/inner/another.html
成功
https://store.company.com/secure.html
失敗 異なるプロトコル
http://store.company.com:81/dir/etc.html
失敗 異なるポート
http://news.company.com/dir/other.html
失敗 異なるホスト

同一生成元ポリシーには一つの例外があります。スクリプトは document.domain の値を現在のドメインのサフィックスに設定できます。もしスクリプトによってそのように設定されたら、より短いドメインは次の生成元のチェックのために使われます。例えば、http://store.company.com/dir/other.html にある文書内のスクリプトが以下の命令文を実行したと想定します:

document.domain = "company.com";
この命令文の実行後、ページは http://company.com/dir/page.html で生成元のチェックを通るでしょう。

しかし、同じ理由で、company.comdocument.domainothercompany.com に設定することはできません。