CORS処理の流れ

「プログラミング」及び「開発」関連用語集

カテゴリー: HTTP  閲覧数:369 配信日:2018-01-31 21:24


リクエスト処理の流れ


Originを越えるアクセス
・ブラウザからサーバに送られるHTTPリクエストヘッダに、Originというフィールドが含まれる
GET /status/89 HTTP/1.1
Origin: http://www.yahoo.co.jp

「Origin内容が信頼できるWebサイト」からのリクエストのみ許可する場合には?
・HTTPレスポンスヘッダに、下記内容を追加
HTTP/1.1 200 OK
Access-Control-Allow-Origin: www.yahoo.co.jp

何れのWebサイトからも、Originを越えるアクセスを許可する場合には?
・ワイルドカードで指定することが可能(サブドメイン等の部分指定は不可)
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *

.htaccess ファイル使用例


「http://www.yahoo.co.jp:8080」からのみ、Resource Sharing を許可
Header append Access-Control-Allow-Origin: "http://www.yahoo.co.jp:8080"
 
「http://www.yahoo.co.jp」と「http://www.google.co.jp」からのみ、Resource Sharing を許可
Header append Access-Control-Allow-Origin: "http://yahoo.co.jp http://www.google.co.jp"
 
すべてのサイトから、リソースシェアリングを許可
Header append Access-Control-Allow-Origin: "*"

PHP使用例


すべてのサイトから、リソースシェアリングを許可
<?php
header("Access-Control-Allow-Origin: *");
?>


LINK


W3C 仕様書
Cross-Origin Resource Sharing

MDN
オリジン間リソース共有 (CORS)
Cross-Origin Resource Sharing (CORS)