はじめに
今回はオリジン間のリソース共有についてアウトプットしていこうと思います!
異なるアプリケーションからのアクセス
スキーム
スキームとは、http://~のhttp://部分を指します!
スキームとは、一般的にHTTPプロトコルの部分を指します!
ホスト
ホストとは、http://localhost:3000のlocalhost:部分や、他にはwww.~のwwwを指します!
ポート
ポートとは、http://localhost:3000の3000の部分を指します!
ポートは、それ以前の文字を住所だと表現したときに、部屋番号などに例えられます!
同じホストにアクセスしたとしても、ポートを変えることで複数のソフトへの接続を受け付けることができます!
オリジン
オリジン(Origin)はWebに関連する知識であり、URLのスキーム(プロトコル)、ホスト(ドメイン)、ポートをまとめた総称です!
同一オリジンポリシー
同一オリジンポリシーは異なるオリジン(Origin)のアプリケーションへアクセスする際にセキュリティ面を考慮して制限がかかる仕組みです!
この制限は、通常Webアプリケーションフレームワークでははじめから設定されています!
解除するには別の設定が必要です!
同一オリジンポリシーが有用なケース
同一オリジンポリシーを考慮する必要があるのはAPIを使用するケースです!
例としては、ある会社が運営するWebアプリケーションが、他社が提供している外部APIを使用する時、ほとんどのケースでオリジンが異なります。
この時に同一オリジンポリシーの制限が存在すると、他社のAPIにアクセスすることができないため、API自体を利用することができなくなります。
制限をかける理由
制限をかけるのは、異なるオリジンからのアクセスを常に許可してしまうと誰でもAPIを使用できる状態になり、意図しないアクセスに対応できないためです!
同一オリジンポリシーが存在するのかについては、異なるオリジンからのアクセスを常に許可してしまうと誰でもAPIを使用できる状態になり、意図しないアクセスに対応できなくなります。
しかし、すべてに制限を掛けてしまうと外部APIが成り立たなくなってしまうので制限を解除する仕組みも存在します。
制限を解除する仕組み
CORS
CORSとは、オリジン間リソース共有の略称であり、異なるオリジンのアプリケーションへ、アクセスを許可する仕組みのことです。
コメント