HTTPやCookieやSessionの話
ネットワークの話
ex 手紙のやり取り ・どんな手段で運ぶ?(1:物理層、2:データリンク層) ・どこに運ぶ?(3:ネットワーク層) IPアドレス(インターネットにおける住所) ・何号室?(4:トランスポート層) ・手紙の内容 プロトコル(お約束)
2デフォルトゲートウェイ 設定するとパソコンはデフォルトゲートウェイに データを投げる。
①IPアドレスをDNSサーバーに問い合わせ ②IPアドレスを教えてくれる。 ③IPアドレスを使う。 ④インターネットにアクセス (ブラウザの裏でこのようなことをやっている。)
HTTPの仕組み
exリクエストメソッド:POST (HTTPリクエストヘッダーとHTTPリクエストボディのセット)
exレスポンスメソッド:ステータスコード:200 (HTTPレスポンスヘッダーとHTTPレスポンスボディのセット)
HTTPリクエストメソッド
GET データ習得 POST データ送信・データ作成 PUT データ更新 PATCH データ一部更新 DELETE データ削除 HEAD ヘッドのみリクエスト
リクエストボディ ○ POST,PUT,PATCH △ DELETE ✖️ GET,HEAD レスポンスボディ ○ GET,POST,PATCH △ DELETE ✖️ PUT,HEAD
HTTPレスポンスメソッド
200 リクエスト成功 204 レスポンスなしでリクエスト成功 301 URL変更 302 URL一時的に変更 (300番台はリダイレクトの意味がある。) 403 アクセス権なし 404 リソースなし 500 サーバー側で処理できないエラー 502 サーバー通信エラー 503サーバーが処理できない。(Webサーバーは反応するけど、Rails側は反応しない。) 504 レスポンスのタイムアウト
Cookie
・CookieとはWebブラウザに任意の文字情報を保存したり、その情報をサーバー側に送信する仕組み。
・HTTPはステートレス(前回のことを覚えていない。)
・上記のを防ぐためにCookieを使用する。(ドメイン毎にCookieがある。)
・Cookieは内側から見れるため、個人情報などの重要な情報は簡単に見れて盗まれる可能性があるため保存しない。 (ex メールアドレスやパスワード)
・Cookieはブラウザ側に保存するもの。
Session
1 サーバーにリクエスト(1回目) 2 セッションにデータを作成。ここでセッションIDが作られる。 3 CookieにセッションIDを保存。 4 ブラウザにレスポンス (Sessionはサーバー側に保持するもの。) 5 サーバーにリクエスト(2回目) //この際、Cookieの情報を含めて送信 6ブラウザにレスポンス
上記の流れで他のページにアクセスする度にクッキーをサーバーに送っている。また情報漏洩を防いでいる。