Access-Control-Allow-Origin 【ACAO】

概要

Access-Control-Allow-Origin(ACAO)とは、HTTPヘッダフィールド(項目)の一つで、送信するコンテンツが他のサーバとのリソース共有(CORS)を許可されているかを示すもの。

HTTPWebサーバWebクライアントWebブラウザなど)の間でデータの伝送をなう通信規約プロトコル)の一つで、通信の制御情報を前半部のHTTPヘッダに記述し、後半のHTTPボディが伝送内容の本体を表す。ヘッダは改行区切りのテキスト(文字)形式で「項目名: 値(改行)」という記法で設定を列挙する。

Access-Control-Allow-Originはサーバからクライアントへの応答であるHTTPレスポンスで用いられるヘッダ項目の一つで、複数のサーバにまたがってコンテンツを組み合わせる「CORS」(Cross-Origin Resource Sharingクロスオリジンリソース共有)を許可するかどうかを通知するのに用いられる。

設定値として「*」を記載すると、あらゆるオリジンから当該コンテンツへのアクセスを許可する。特定のオリジンに対してのみ共有を許可したい場合は設定値に許可したいオリジンを記載する。「オリジン」はWebサーバを識別するためのセットで、「http://example.jp:8080/」のようにURIスキームホスト名FQDN)、ポート番号(標準の場合は省略可)の組である。

例えば、「https://a.example.jp/」上のスクリプトXMLHttpRequest等で「https://b.example.jp/」にアクセスしたい場合、Webブラウザから b.example.jp へのHTTPリクエストに「Origin: https://a.example.jp」(私はa.example.jpスクリプトです)というヘッダを追加する。

b.example.jp がアクセスを許可する場合は、対応するHTTPレスポンスで「Access-Control-Allow-Origin: https://a.example.jp」というヘッダを追加してデータを送信する。a.example.jpに限らずネット上のあらゆるホストからアクセスを許可したければ「*」を指定する。共有を拒否する場合はAccess-Control-Allow-Originヘッダを送信しないようにする(「null」というを送る手法もあったが現在は非推奨)。

(2023.5.12更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる