document.domainとは?初心者向け解説と使い方の基本共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
document.domainとは?初心者向け解説と使い方の基本共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)


document.domainとは?

document.domainはウェブページが自分の属する「ドメイン」に関する情報をJavaScriptから扱う仕組みの一部です。Webブラウザは同じオリジンと呼ばれる条件を満たすページ同士だけ、互いにデータをやりとりすることを許します。この仕組みを“同一オリジンポリシー”といい、セキュリティの基本になっています。

同一オリジンと緩和のしくみ

同一オリジンポリシーでは、ドメイン名・ポート番号・プロトコルがすべて一致していないと、JavaScriptで互いのウィンドウへアクセスできません。document.domainを使うと、両方のページが共通の「登録可能なドメイン」(registrable domain)を設定しておくことで、オリジンを“緩く”揃えることができます。例として、sub1.example.comsub2.example.com が同じ example.com を設定すると、互いのwindowにアクセスできる場合があります。

使い方の基本

使い方の基本は、両方のページの JavaScript で document.domain に同じ値を設定することです。

例: document.domain = 'example.com';

現代のウェブでの扱い

現代の多くのウェブアプリケーションでは、この方法は推奨されません。セキュリティ上のリスクがあり、ブラウザの挙動も厳しくなっています。代わりに CORSpostMessage などの技術を使って別ドメイン間で安全にデータをやりとりします。CORS はサーバ側の設定が必要で、postMessage はウィンドウ間の安全な通信を可能にします。

よくある誤解と注意点

document.domain を設定しても、すべてのケースで跨るスクリプトアクセスが自動的に許可されるわけではありません。iframe の組み合わせや、第三者のサブドメインが関わる場合には動作しないことが多いです。また、設定を変更したまま別のページへ遷移すると無効になる点にも注意してください。

用語の整理

用語説明
document.domainJavaScript から現在のページが属するドメイン情報を扱う値。設定によりオリジンを緩和する機能。
同一オリジンポリシー異なるドメイン・ポート・プロトコルの組み合わせ間でのデータアクセスを制限するセキュリティ機構。
registrable domain実際に公開・登録されているドメイン名。例: example.com のように同じ registrable domain を共有する場合に緩和の対象になる。
CORSサーバー側の設定で他のドメインからのリソース取得を許可する仕組み。
postMessage異なるドメイン間で安全にメッセージを送るためのブラウザのAPI。

まとめ

document.domain はかつてはサブドメイン間での連携を可能にする便利な機能でしたが、現在は推奨されず、代替手段が主流です。ウェブアプリを作るときは、CORS や postMessage、または同一オリジンの設計を心がけると良いでしょう。


document.domainの同意語

document.domainプロパティ
JavaScriptの組み込みプロパティで、現在のドキュメントのドメイン部分を参照・変更するために使う。
現在のページのドメイン
表示中のウェブページが属するドメイン名を指す、document.domainの対象となる概念。
ドキュメントのドメイン名
ウェブページのドメイン名を表す表現。document.domainで取得・設定される値を指す言い換え
ドメイン名の参照・設定プロパティ
ドメイン名を読み取ったり変更したりするためのJavaScriptの手段。
同一オリジン操作用のドメイン指定
同一オリジンポリシーの文脈で、ドメインを指定してオリジンの扱いを調整する用途の表現。
オリジンのドメイン部分を操作するプロパティ
ウェブページのオリジンのうちドメイン部分を取得・変更するための仕組み。
ドメイン名を取得・変更するJavaScriptプロパティ
ページのドメイン名をプログラムで読み取ったり別の値に設定したりするための手段。

document.domainの対義語・反対語

同一オリジン (Same-origin)
プロトコル・ホスト・ポートが完全に一致している状態。document.domain のサブドメイン緩和を使わず、厳格な同一オリジンポリシーを想起させる概念。
異なるオリジン (Different-origin)
別のプロトコル/ドメイン/ポートであり、通常は同一オリジンポリシーにより通信が制限される状態。
同一オリジンポリシーの厳格適用 (Strict same-origin policy)
オリジン間の情報共有を最小限に抑え、セキュリティを最大化する設定。
クロスオリジン通信の禁止 (Cross-origin communication forbidden)
異なるオリジン間での通信を原則として禁止する状態。
サブドメイン分離 (Subdomain isolation)
サブドメイン間の緩和を使わず、ドメイン単位で厳格に分離する考え方。
document.domain 設定なし/無効化 (No document.domain setting)
document.domain を利用してサブドメイン間を緩和しない、通常のオリジン制約の状態。
完全なオリジン分離 (Total origin separation)
どのオリジン間でも情報共有を前提としない、徹底した分離状態。

document.domainの共起語

同一オリジンポリシー
ブラウザが異なるオリジン間のデータの読み書きを原則禁止するセキュリティ方針。document.domain はこのポリシーの挙動に影響を与える手法として知られていますが、現在は推奨されません。
オリジン
スキーム+ホスト名+ポート番号を組み合わせた、ブラウザがセキュリティ境界として扱う単位。document.domain の設定は同じオリジンの扱いに影響します。
サブドメイン
例: sub.example.com と example.com は共通の親ドメインを持つ関係。document.domain を 'example.com' に設定する目的で使われることがありました。
document.domain の設定
JavaScript でページのドメインを、自分が利用しているサブドメインの親ドメインへ揃える古い手法。サブドメイン間の通信を可能にする目的でしたが、現代の多くのケースでは推奨されません。
クロスオリジン
異なるオリジン間のリソース共有・アクセスの制限。document.domain の設定はクロスオリジンの扱いを緩和する古い方法として使われることがありました。
iframe
iframe 内の別ドメインの内容に対するアクセスは同一オリジンポリシーの対象。document.domain の設定は iframe 間の通信を可能にする目的で使われたことがあります。
postMessage
異なるオリジン間で安全にメッセージを送るための API。document.domain の設定の代替として使われることが多いです。
CORS
Cross-Origin Resource Sharing の略。サーバー側で特定のオリジンからのリソース共有を許可する仕組み。document.domain とは別の対処です。
セキュリティリスク
document.domain の設定を緩和すると、サブドメイン間での意図しないアクセスや XSS のリスクが高まる可能性があります。
ブラウザ互換性
主要ブラウザの実装差やサポート方針は変化しており、document.domain の挙動には注意が必要です。
ドメイン名
インターネット上の識別子。document.domain の設定対象として、揃えるべきドメイン名を指すことがあります。
ホスト
URL の「ホスト」部分。オリジンを決定する要素の一つであり、document.domain の影響対象になることがあります。
ポート番号
同一オリジンかを判断する際の要素。document.domain の設定自体には直接関係しませんが、オリジン判定には含まれます。
URL
ウェブ上の資源の場所を表す文字列。document.domain は URL のドメイン部分と密接に関係します。

document.domainの関連用語

document.domain
現在のウェブページのドメインを取得・設定する JavaScript のプロパティ。デフォルトでは現在のホスト名と同じ値を返す。サブドメイン間でのスクリプトアクセスを緩和する目的で、両方のページが同じ registrable domain に属している場合には document.domain を共通の基盤ドメインに設定することができる。ただし設定できるのは現在のドメインの接尾辞として有効な値のみで、クロスオリジンの完全な解放を意味するわけではない。
同一オリジンポリシー
ブラウザが異なるオリジン間での DOM操作やデータの読み込みを原則として禁止するセキュリティモデル。document.domain の設定や postMessage など一部の手段で例外が生じうるが、基本的には同一オリジンでのやり取りのみ許可される。
オリジン
プロトコル(http/https)、ホスト名、ポート番号の組み合わせ。SOP の基準となる単位で、異なるオリジン間では通常アクセスが制限される。
サブドメイン
母体となるドメインの下位にぶら下がるドメイン。例: sub1.example.com。複数のサブドメイン間での連携を検討する際、document.domain の設定で同一オリジン化を試みる場合がある。
registrable domain / eTLD+1
Public Suffix List に基づく、実際に管理・登録されるべき基盤ドメイン。例: sub1.example.com および sub2.example.com の registrable domain は example.com、または sub1.example.co.jp の場合は example.co.jp。これを共通化することでサブドメイン間の緩和が成立することがある。
ドメイン緩和 (Domain Relaxation)
サブドメイン間で DOM アクセスを可能にするために document.domain を同じ registrable domain に設定する技法。両方の文書が同一の基盤ドメインに属している必要があるが、現代のセキュリティ設計では推奨されない場合が多く、代替として postMessage や CORS の利用が推奨される。
iframe
別の文書を現在のページに埋め込む要素。クロスオリジンの通信やアクセスには制限があり、必要に応じて document.domain の設定や postMessage を使って連携する。
クロスオリジン
異なるオリジン間でのデータアクセスや通信を指す用語。デフォルトでは制限されるが、適切な設定(POST メッセージ、CORS など)で限定的な連携が可能になる。
postMessage
window.postMessage を使い、異なるオリジンのウィンドウや iframe 間で安全にデータを送受信する手段。現代のクロスオリジン通信の標準的な方法で、document.domain に依存しすぎない利点がある。
CORS (Cross-Origin Resource Sharing)
サーバー側の設定で、特定のオリジンからのリソース取得を許可する仕組み。XHR/Fetch のリクエストに対して、適切な Access-Control-Allow-* ヘッダを設定することで、SOP の制約を緩和する。
Content Security Policy (CSP)
ウェブページがロードする外部資源の出所を制限するセキュリティ機能。SOP を補完し、iframe の挙動や inline script の実行制限などを設定することで、クロスオリジン関連のリスクを低減する。

document.domainのおすすめ参考サイト


インターネット・コンピュータの人気記事

awstatsとは?初心者でもわかる使い方と基本解説共起語・同意語・対義語も併せて解説!
16485viws
bing・とは?初心者のための基本ガイド:検索エンジンの仕組みと使い方共起語・同意語・対義語も併せて解説!
2869viws
差し込み印刷・とは?初心者でもすぐわかる使い方と仕組みガイド共起語・同意語・対義語も併せて解説!
1180viws
着信転送とは?初心者向けガイドで分かる使い方と設定のコツ共起語・同意語・対義語も併せて解説!
1171viws
com端子・とは?初心者にも分かる基礎ガイド|シリアルポートの使い方と歴史を解説共起語・同意語・対義語も併せて解説!
1046viws
7zファイル・とは?初心者でもわかる使い方と特徴を解説共起語・同意語・対義語も併せて解説!
1021viws
全角文字とは?初心者向け解説|全角と半角の違いをやさしく学ぶ共起語・同意語・対義語も併せて解説!
1011viws
充電アダプターとは何かを徹底解説|初心者でも分かる基本と選び方のコツ共起語・同意語・対義語も併せて解説!
978viws
リマインドメールとは?初心者にもわかる基本ガイドと使い方のコツ共起語・同意語・対義語も併せて解説!
872viws
pinロックとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
865viws
none とは?初心者にもやさしく解説する意味と使い方ガイド共起語・同意語・対義語も併せて解説!
810viws
16進数カラーコード・とは?初心者でもつまずかない基礎と使い方ガイド共起語・同意語・対義語も併せて解説!
808viws
asp・とは?初心者向けに徹底解説する基本と使い方ガイド共起語・同意語・対義語も併せて解説!
786viws
xlsmとは?初心者でも分かるExcelのマクロ付きファイルの基本共起語・同意語・対義語も併せて解説!
740viws
ローカルポート・とは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
711viws
sha256とは?初心者が知るべき暗号ハッシュの基礎と使い道共起語・同意語・対義語も併せて解説!
673viws
csvダウンロードとは?初心者が今すぐ使える基本ガイド共起語・同意語・対義語も併せて解説!
618viws
countifとは?初心者でもすぐ使える基本と応用ガイド共起語・同意語・対義語も併せて解説!
609viws
ワンタイムコード・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
599viws
googleドキュメントとは?初心者が今日から使いこなす基本ガイド共起語・同意語・対義語も併せて解説!
543viws

新着記事

インターネット・コンピュータの関連記事