完全に理解できる気がしないのであっさりと
JSでAPIをたたいた時にエラーが出たよ、iframeとかでも出るよ
CORSとは
Cross-Origin Resource Sharingd です。
日本語ではオリジン間リソース共有です。
ブラウザとかで動いてます。
違うオリジンにアクセスする際に発動してアクセスできなかったりします。
そもそもオリジンとは
- プロトコル
- ホスト(ドメイン)
- ポート
です。これらがそれぞれすべて同じものは同一オリジンとして解釈されます。
https://negishi-tako.com
http://negishi-tako.com
は別オリジンになります。なぜなら80番と443番でポートが違うからです。
CORSの存在意義
XSSやCSRFを防ぎます。悪意のあるコードが実行されないようにして悪意のあるサーバとかにアクセスしないようにします。
CORS回避
APIサーバを自分で持ってる場合:Access-Control-Allow-Originをヘッダーに追加する。
持ってない場合:プロキシサーバを利用する。CORS回避の拡張機能などを利用する。(非推奨)