20201113_アウトプット(API、オリジン間リソース共有)

アプトプット画像

学んだこと 1時間10分

オリジン(Origin)って?

オリジンとはWebに関する知識で、URLのスキーム(プロトコル)、ホスト(ドメイン)、ポートをまとめた総称のこと。

名称
スキーム(プロトコル http://
ホスト(ドメイン localhost:www.cherry.jp
ポート 3000

ここで「ポート」の概念について初めて知ったこと。

  • 同じホストに対して、複数のソフトを接続したい時、ポートを変えれば可能なこと。

  • 例えばローカルホストで考えてみると、localhost:3000を立ち上げつつ、localhost:3001を立ち上げれば、別々のアプリケーションを同時起動することができる。(rails s -p 3001のようにコマンド実行して起動)


「異なるアプリケーション」とは、何が「異なる」の?

オリジン(スキーム(プロトコル)・ホスト(ドメイン)・ポート)が、どれか一つでも一致しない時😲


同一オリジンポリシーとは?

異なるオリジンのアプリケーションへアクセスしたときに制限がかかる仕組みのこと。(セキュリティに考慮。「誰でもアクセスし、使用できる」ことはリスクでもある。)


CORS(コルス)とは?
  • 制限を解除する仕組み。🔓 (Cross-Origin Resource Sharing)

  • Ruby on Railsで、異なるオリジンのアプリケーションからのリクエストを許可する場合にはrack-corsというGemを使用する。



積み残し(復習したいこと)

  • MySQLCSVをエクスポートする

  • Formオブジェクト(モデルの存在しないデータを更新)

  • Rails勉強会→50%

  • カラムの追加方法、ロールバック

  • デプロイ方法



感想

  • アプリケーションが違うとは、具体的に何を指すのか考えていなかった。(サービスが違う?くらいにしか思っていなかった)なので、構造で言うと、オリジンが一つでも異なるものは異なるアプリケーションなんだよ、と知れてよかった。

  • 今回のカリキュラムを学んでからAPIについて検索したら少し見方が変わった。今まではてっきり、APIを提供する側は、誰がこの情報を欲しいのかマーケティングのような意味で使用許可を申請する仕組みなのかと思っていた。しかし、同一オリジンポリシー(制限)とコルス(解除)の仕組みがあるからこそ、意図しないアクセスによる金額請求等を防ぐことができるので、APIを使ってアプリケーションを作る人を守る事にも繋がっているのだなと感じた。

  • 今日は歯列矯正で歯医者さんにいったため歯が痛い‥。しかし、歯が動いているような痛みなので「矯正が進んでいる」と思うと嬉しい(笑)

  • あとは、じゃがいものポタージュを作ったところ、えぐみが酷く、ピリピリ😭ww(失敗・・・)じゃがいもの芽が毒と言うのは知っていたけれど、全体が緑ががっている時も毒ということは知らなかった。皮を厚めに剥く下処理が必要なんだって。学びになった🥔笑