CORS
2023-02-09 (木) 15:08:16
CORS とは †
名称 †
- Cross-Origin Resource Sharing
概要 †
- Webサイトの異なるドメインとのデータのやりとりをできるようにする方法。
- JSONPのセキュリティ上のリスクを低減する技術。
仕組み(XMLHttpRequest) †
- Access-Control-Allow-Originヘッダ
- クロスオリジンでデータを提供する側が、HTTPヘッダにAccess-Control-Allow-Originヘッダを付加する。
- プリフライトリクエスト
- pre-flight request
- 同一生成元としての条件を満たさなかった場合に、Webブラウザが送信するHTTPリクエスト
- リクエスト:1.Access-Control-Request-Method、2.Access-Control-Request-Headers、3.Origin
- 応答:1.Access-Control-Allow-Method、2.Access-Control-Allow-Headers、3.Access-Control-Allow-Origin
- Cookieの送信
- デフォルトは送信しない。
- 送信する場合は、リクエストでXMLHttpRequestの withCredentialsプロパティにtrueを設定する。
- 応答:Access-Control-Allow-Credentials(true)
Cross-Origin とは †
- 「Origin」参照
関連サイト †
- CORS Tester
https://cors-test.codehappy.dev/
- test-cors.org
https://www.test-cors.org
関連用語 †
- Ajax
- JSON
- JSONP
- SOP -Same Origin Policy(同一生成元ポリシー)
- XMLHttpRequest