オリジン間リソース共有(Cross-Origin-Resource-Sharing、CORS) 概要
オリジン間リソース共有(Cross-Origin-Resource-Sharing、CORS) とは
-
あるオリジンで動作するウェブアプリに、異なるオリジンに存在するリソースへのアクセス権を与えるようブラウザに指示する仕組み。
- オリジン
- ウェブコンテンツにアクセスするために使われる URLのプロトコル、 ドメイン(ホスト)、 ポート によって定義される情報。
- スキーム、ドメイン(ホスト)、ポートがすべて一致した場合、二つのオブジェクトは同一オリジンであると言える。
- 例
http://example.com/app1/index.html http://example.com/app2/index.html
- オリジン
オリジン間リクエスト例
-
https://domain-a.com
で提供されているウェブアプリのフロントエンド JavaScript がXMLHttpRequest
を使用してhttps://domain-b.com/image-b.png
へリクエストを行う場合- セキュリティ上の理由から、ブラウザは、スクリプトによって実行されるオリジン間 HTTP リクエストを制限する。
-
XMLHttpRequest
やFetch
は同一オリジンポリシー(あるオリジンのリソースは、そのリソースから他のオリジンのリソースにアクセスできないように制限する)に従う。 - 上述のAPI を使用するウェブアプリは、そのアプリと同一オリジンに対してのみリソースのリクエストを行うことができ、それ以外のオリジンの場合は正しい CORS ヘッダーを含んでいる必要がある。
アクセス制御方法
単純リクエスト
プリフライトリクエスト
-
OPTIONS
メソッドを指定した HTTP リクエストを他ドメインのリソースに向けて送信し、実際のリクエストを送信しても問題ないかを確認する。
資格情報付きリクエスト
クッキー付きでリクエストする。
-
サーバーはアクセスを許可する場合、
Access-Control-Allow-Credentials:true
を付与してレスポンスを返却する。
参考情報
Author And Source
この問題について(オリジン間リソース共有(Cross-Origin-Resource-Sharing、CORS) 概要), 我々は、より多くの情報をここで見つけました https://qiita.com/KWS_0901/items/7a36487d322a80b24d13著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .