CORS(Cross-Origin Resource Sharing)は、あるオリジンの Web ページが別のオリジンのサーバーにリクエストできるかどうかを制御するブラウザのセキュリティ機構です。デフォルトでは、ブラウザはクロスオリジンのリクエストをブロックします。サーバーがレスポンスヘッダーを通じて明示的に許可する必要があります。
同一オリジンポリシーと問題
text
オリジン = スキーム + ホスト + ポート。これらは異なるオリジン:
https://app.example.com → https://api.example.com (ホストが異なる)
http://localhost:3000 → http://localhost:4000 (ポートが異なる)
サーバーが許可する CORS ヘッダーを送らない限り、ブラウザはクロスオリジンのリクエストをブロックする。
つまり、 上の React アプリが の API を呼ぶのはクロスオリジンであり、API が明示的に許可しない限りブラウザがブロックします。
