JavaScript のオブジェクト XMLHttpRequest
を使用すると、非同期に Web サイト上からデータを取得することができます。
ただし、XMLHttpRequest
はセキュリティ上の考慮から Same Domain Policy の上で動いており、JavaScript をダウンロードしたドメインからしかデータを取得することができません。
CORS (Cross-Origin Resource Sharing) は、この制限をなくして別のドメインからのデータ取得を可能にする仕組みです。
CORS 以下のような感じで実現されてます。
XMLHttpRequest
のアクセス制限は、ブラウザが実装しているものである。Acess-Control-Allow-Origin: http://example.com
のように、アクセス許可できるドメインを指定する。XMLHttpRequest
でアクセスする。XMLHttpRequest#withCredentials = true
と設定し、cookie を送るようにする。要するに、CORS の利用には以下の対応が必要になります。
一般的なブラウザは CORS に対応している(CORS 用の HTTP response header を解釈する)ので、あとは各アプリが実装すれば CORS の仕組みを利用することができます。