

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
同一オリジンポリシーとは?
ウェブを安全に使うための基本的なルールが、同一オリジンポリシーです。ここでいう「オリジン(Origin)」は、スキーム・ホスト・ポートの三つが組み合わさったものを指します。つまり、同じスキーム・ホスト・ポートを持つページ同士なら、データのやり取りが許される場合が多く、異なる場合は制限されます。
なぜ必要なのか
もし別のサイトが勝手にあなたのページからデータを読んだり、書き換えたりできたら、個人情報の漏えいやセッションの乗っ取りなど大きな問題になります。同一オリジンポリシーは、こうした悪意のある行為を防ぐための基本的なセキュリティの柱です。
Originの定義と判定の仕方
Origin(オリジン)は次の3要素で決まります。スキーム、ホスト、ポートです。以下の表を見て整理しましょう。
| 説明 | |
|---|---|
| スキーム | 例: http, https |
| ホスト | 例: example.com, sub.example.org |
| ポート | http は通常 80、https は通常 443。指定がなければデフォルトが使われます |
同じ
スキーム・ホスト・ポートのすべてが同じ場合にだけ、同一オリジンと判断されます。たとえば <span>http://example.com と http://example.com は同じOriginです。一方、https://example.com は別のOriginになります。また、http://example.com と http://example.org はホストが違うため別Originです。
実例と影響
同一オリジンポリシーの制限により、あるページが別のオリジンのデータへ直接アクセスすることは基本的にできません。これを回避するために、正しい手段としてCORS(Cross-Origin Resource Sharing)という仕組みが用意されています。
クロスオリジンと CORS のしくみ
クロスオリジンとは、別のオリジン間でデータをやりとりすることを指します。ブラウザは通常、クロスオリジンのリクエストをブロックしますが、サーバー側が適切なヘッダーを返すことで許可できます。これを CORS(Cross-Origin Resource Sharing)と呼びます。具体的には、サーバーが Access-Control-Allow-Origin ヘッダーを返すことで、特定のオリジンからのリクエストを許可します。なお、ここではコードの記述方法には触れず、概念として理解しましょう。
実務でのポイントと学習のコツ
日常的なウェブ開発では、同一オリジンポリシーを前提に、API 連携を行う場合はサーバー側で CORS を適切に設定します。また、異なるオリジン間の安全な通信には postMessage などの仕組みを用いる方法もあります。初心者のうちは、まず「Origin が同じときはどうなるか」「異なるときは何が制限されるか」を意識して、簡単な例題を自分で作ってみると理解が深まります。
まとめ
同一オリジンポリシーは、ウェブを安全に保つための基本ルールです。Origin を正しく理解することで、どのようなケースでデータが守られ、どのケースで許可されるのかを見分けられるようになります。CORS はその「許可をどう与えるか」という仕組みであり、サーバーとクライアントが協力して安全なデータ共有を実現します。
同一オリジンポリシーの同意語
- 同一オリジンポリシー
- ウェブブラウザが、異なるオリジン間でのデータの読み取りや操作を原則として制限するセキュリティ規則。オリジンはスキーム(http/https)、ホスト名、ポート番号の組み合わせで決まる。
- 同一起源ポリシー
- 同一オリジンポリシーとほぼ同義の表現。日本語で“オリジン”を“起源”と訳す場合の別表現。
- 同一オリジン原則
- 同一オリジンポリシーと同じ思想を表す表現。データは同じ起源のリソース間でのみやり取りできる、という基本原理。
- 同一ソースポリシー
- “ソース”はOriginとほぼ同義。出所が同じリソース間でのみ安全にデータを共有する前提を示す表現として使われることがある。
- 同一出所ポリシー
- Originの日本語訳である“出所”を用いた表現。意味は同じく、異なる出所間のアクセスを制限するポリシー。
- SOP
- Same-Origin Policyの略称。技術文書や解説で頻繁に使われる略語。
- Same-Origin Policy
- 英語表記の同一オリジンポリシー。国際的な文献やコードコメントで使われる正式名称。
同一オリジンポリシーの対義語・反対語
- クロスオリジンアクセス許可
- 同一オリジン以外のオリジンからのリソースアクセスを許す仕組み。例: サーバがAccess-Control-Allow-Originヘッダを返して別オリジンのリクエストを受け入れる。
- CORS
- Cross-Origin Resource Sharingの略。サーバが特定のオリジンからのリクエストを許可することで、別のオリジンからの資源取得を可能にする仕組み。
- オリジン間リソース共有
- 異なるオリジン間でリソースを共有する考え方。CORSと同義語として使われることが多い。
- 異なるオリジンからのアクセスを許可するポリシー
- 別のオリジンのウェブページやスクリプトからデータや機能へアクセスを許可する方針。
- 同一オリジンポリシー緩和型
- 同一オリジンポリシーをそのまま厳格には適用せず、緩和して跨るアクセスを認める運用形。
- クロスオリジンAJAX許可
- XMLHttpRequestなどのAJAXで別オリジンのデータを取得できるようにする設定・仕組み。
- クロスオリジンAPI利用
- 別オリジンのAPIをウェブページから利用可能にする形。
- オリジン間通信許可
- window.postMessageなどを使い、異なるオリジン間での通信を許す仕組み。
- 脱同一オリジンポリシー
- 同一オリジンポリシーを撤廃し、完全に自由なオリジン間通信を想定する考え方。
- オープンオリジンアクセス
- オリジンを問わず自由にアクセスを許す開放的な状態。
- クロスドメインポリシー
- 別ドメイン間のアクセス方針。厳密にはSOPとは別の古いポリシー概念だが、対義語として使われることがある。
- オリジン間データ共有ポリシー
- 異なるオリジン間でデータを共有することを前提としたポリシーの総称。
同一オリジンポリシーの共起語
- CORS
- 異なるオリジン間でのリソース共有を許可する仕組み。サーバが特定のオリジンからのアクセスを受け入れるかどうかを制御します。
- クロスオリジンリソースシェアリング
- CORSの正式名称。別オリジンのウェブページがリソースを取得できるかを宣言・制御する仕組みです。
- Origin
- リクエストの起点となるオリジン。URLのスキーム・ホスト名・ポート番号の組み合わせです。
- Originヘッダ
- リクエスト時にブラウザが送るOrigin情報。どのオリジンから来たのかを示します。
- Access-Control-Allow-Origin
- サーバが許可するオリジンを示すレスポンスヘッダ。ワイルドカード(*)や特定のオリジンを指定します。
- プリフライトリクエスト
- 実際のリクエストを送る前にサーバに許可を確認する事前問い合わせ。通常はOPTIONSメソッドで行われます。
- 同一オリジンポリシー
- ブラウザが別オリジンからのリソース取得を制限する基本ルール。セキュリティの核となるポリシーです。
- 同一オリジン制約
- 同一オリジンポリシーと同義・同義語として使われる表現。
- サーバ設定
- CORSを適用するためにサーバ側で許可するオリジンや認証情報の設定を行います。
- Content-Security-Policy
- ページがロードするリソースの出所を制限するヘッダ。XSS対策などの追加セキュリティ手段として使われます。
- Access-Control-Allow-Credentials
- 認証情報( cookies やHTTP認証情報)をクロスオリジンリクエストで送信して良いかを示すレスポンスヘッダ。
- Access-Control-Request-Headers
- プリフライトリクエストでブラウザが実際のリクエストで許可を求めるヘッダ名を知らせます。
- Fetch API
- モダンなウェブAPIで、クロスオリジンリクエストを行う代表的な方法。
- XMLHttpRequest (XHR)
- 従来のAJAX通信の方法。同一オリジンポリシーの制限を受けることがあります。
- サードパーティリソース
- 他オリジンから読み込むスクリプト・画像・フォントなど。CORS設定の対象になることが多い。
同一オリジンポリシーの関連用語
- 同一オリジンポリシー
- ウェブブラウザが、異なるオリジン間でのデータの読み書きを基本的に制限するセキュリティの基本ルール。同じオリジン同士なら自由にやり取りできる一方、異なるオリジン間のアクセスは制限される。
- オリジン
- URL のスキーム・ホスト・ポートの組み合わせのこと。同一オリジンポリシーはこのオリジンを基準に動作する。
- クロスオリジン
- 異なるオリジン間でのリソースの読み込みや通信を指す。
- 例: 別のサイトから API を呼ぶ場合など。
- クロスオリジンリソースシェアリング (CORS)
- サーバー側が特定のオリジンからのリソースアクセスを許可するための仕組み。ブラウザは許可されたオリジン以外からのリクエストをブロックする。
- Access-Control-Allow-Origin
- CORS のレスポンスヘッダで、アクセスを許可するオリジンを指定する。ワイルドカード (*) も使われるがセキュリティ上の制約がある。
- Access-Control-Allow-Credentials
- クレデンシャル( cookies や Authorization ヘッダなど)を含むリクエストの許可を示す CORS ヘッダ。
- Access-Control-Allow-Methods
- プリフライトリクエストに対して、許可される HTTP メソッドを列挙する CORS ヘッダ。
- Access-Control-Allow-Headers
- プリフライトリクエストに対して、許可されるカスタムヘッダを列挙する CORS ヘッダ。
- プリフライトリクエスト
- クロスオリジンの実リクエストを送る前に、サーバーが許可を出すかを確認するための HTTP OPTIONS リクエスト。
- Vary ヘッダ
- キャッシュの挙動を制御するヘッダ。Origin を含めると、オリジンごとにキャッシュを分けるよう指示することがある。
- クレデンシャル付きリクエスト
- クッキーや認証情報をリクエストと一緒に送るリクエストのこと。CORS では特別な設定が必要。
- JSONP
- 古いクロスオリジン取得手法。script タグを用い、コールバック関数でデータを返すが、セキュリティ上のリスクが高い。
- サーバーサイドプロキシ
- 同一オリジン制約を回避するため、自分のサーバー経由で他オリジンのデータを取得して返す方法。
- postMessage
- 異なるオリジン間で安全にメッセージを送受信する Web API。ウィンドウ間通信に用いられる。
- Content Security Policy (CSP)
- ページが許可するコンテンツの出所・種別をポリシーで厳しく制御するセキュリティ機能。
- X-Frame-Options
- 自分のページが他サイトの iframe に表示されるのを制御するセキュリティヘッダ。
- SameSite Cookies
- クッキーの送信条件を同一サイトからのリクエストに限定する設定。CSRF 対策に有効。
- CSRF対策
- 別のサイトからの偽装リクエストを防ぐ仕組み。トークンの検証や SameSite などが用いられる。
- IFRAMEとSandbox
- iframe の sandbox 属性で外部コンテンツの実行権限を制限し、同一オリジンポリシーを補完する。
- Origin ヘッダ
- HTTP リクエストに含まれる Origin 情報を伝える header。サーバーはこれを基にアクセスを判断することがある。
- WebSocket Origin チェック
- WebSocket のハンドシェーク時に Origin を検証して、許可されたオリジン以外からの接続を遮断する仕組み。
- CORB (Cross-Origin Read Blocking)
- ブラウザがクロスオリジンのデータを不適切に読み取られないようにする保護機能。
同一オリジンポリシーのおすすめ参考サイト
- Same-Origin Policy(同一オリジンポリシー)の基本的な仕組みと役割
- 【図解】同一オリジンポリシー・CORSとは - ITまとめノート
- Same-Origin Policy(同一オリジンポリシー)の基本的な仕組みと役割



















