0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

CORSを知ろう

Last updated at Posted at 2024-08-09
Page 1 of 10

CORSとは

  • オリジン間リソース共有(Cross-Origin Resource Sharing)のこと

事前知識:オリジンとは


大前提

  • インターネットは危ない!

原則:同一オリジンポリシー

  • ブラウザは、あるオリジンから配信されたリソースから他のオリジンに通信することを制限する
    例外:scriptタグのsrc属性/imgタグのsrc属性/formタグのaction属性 など
  • この原則がないと、信用できないオリジンからのコンテンツを知らぬ間に受け入れてしまい大事な情報を盗まれる、などの危険性が増すことになる

そうは言ってもクロスオリジンで通信したいことはある

  • 自分で開発したWebアプリ同士で通信させたい
  • 信用できるオリジンが提供しているAPIを自分のWebアプリから利用したい
     例)自治体が提供しているオープンデータなど

そこでCORS

  • 「このオリジンから配信されたリソースからの呼び出しは許可するよ」と設定する
  • '*'と設定するとどこからの呼び出しでもOK!という意味になる(太っ腹だし、強心臓!)
  • APIキーを払い出すときに「どのオリジンから利用するか」を設定させるサービスもある

落とし穴

  • CORSはブラウザでない場所からの呼び出しには無力
    例)モバイルアプリ/デスクトップアプリ/APサーバ
  • 認証が絡むと複雑
    オープンデータが一番使いやすい

CORSの使いどころ

  • Web APIの提供:CORSを検討してもいい

最後に

  • 実は、CORSは使わなくて済むならそれが一番いい
  • 他に方法がない場合にのみ採用するのが吉
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?