
目次
CORSとは(Cross-Origin Resource Sharing)
Q&A
Question
- CORSが存在することによってどんなメリットがあるのでしょうか?
Answer
CORSはResource Sharingといっているようにリソース共有の技術の総称です。
そのCORSにS3が使えるよってことです。
簡単にいってしまうと、
フロントエンジニアが開発するにあたり、画面上にある一部のリソースの車輪の再発明がいらない(開発コストの削減)のがメリットになるかと思います。
WEB画面でGoogleマップが組み込まれているページを見かけたことがあると思います。(会社ページのアクセスページなど)
ただS3なので使える内容は静的コンテンツのみになるかとは思います。
そのCORS実現させるために、「別のドメインからのアクセスについての設定」がフロント側で必要になったりします。
当然、別サーバとの通信が発生するために、セキュリティを考慮した設計や実装が必要となります。
別名
- オリジン間リソース共有
- クロスオリジンリソース共有
そもそもオリジン(Origin)ってどういう意味?
オリジン(origin)とはデータの送信元という意味です。
データの送信元の定義
- WEBページ
- 画像ファイル
- プロトコル(http://, https;//)
- ドメイン名(example.com)
- ポート番号(80, 443)
ドメインとオリジンの違い
ドメイン:google.com
オリジン:https://google.com:443
ドメインとの違いはプロトコル(https;//)、ポート番号(443)を含んでいるところです。
CORSとはどういう技術?
- ブラウザで閲覧しているページと違うドメイン(サーバ)からのリソースの取得を許可する技術
- HTTPヘッダーを利用して、CORS設定しているサーバからWEBリソースを取得させる技術
なぜ必要?
CDNを安全に行うため。
どうやって実現する?
HTTPヘッダーを利用する。
【S3】クロスオリジンアクセスについて(CORS)
S3のCross-Origin Resource Sharing (CORS) を有効化すると、他のドメインへのS3リソースの共有が可能となります。
CORSは特定のドメインにロードされたクライアントウェブアプリケーションが異なるドメイン内のリソースと通信する方法を定義します。
これによって、Amazon S3 を使用して機能豊富なクライアント側ウェブアプリケーションを構築し、Amazon S3 リソースに対するクロスオリジンアクセスを選択的に許可することができます。