$Cookieとは$

$HTTPの特性$

HTTPはステートレス(状態を持たない)
- ステートフルは、やりとりを覚えていること
- ステートレスは、やりとりを毎回リセットするもの

image-41.png

覚えてもらわないとめんどくさい。

$Cookieの仕組み$

  1. 初回の接続時、WebサーバーからCookieをクライアントに作成します

  2. 2回目以降の接続時、前回作成されたCookieを毎回Webサーバに送信します

    $特徴$

    Cookieは、ブラウザの検証ツールを使用すると簡単に中身をみることができる
    - 大事な情報を保存しない(危ない)盗まれてしまう
    - Cookieに保存しないために作られた仕組みがセッション
    

cookie.gif

$Sessionとは$

Cookieに保存しないために作られた仕組みがセッション

  1. アクセスします

  2. セッションIDを生成して、セッションIDに紐づくデータを別に保存します

    保存先は、データベースでも、Redis(KVS)、メモリーとかファイルでも構わない 保存先からデータを取り出す鍵の役割をするのが、セッションID(webサーバー側から見れる)

  3. webサーバーからクライアントに戻す(CookieにセッションIDだけ持つよう指示する)(Set-Cookieで渡す)

HTTPレスポンスの中にCookieをセットして返す

  1. CookieにセッションID保存

Cookieには、セッションIDだけを渡す セッションに保存したデータを格納する

スクリーンショット 2022-04-24 8.45.50.png

$ハンズオン- Cookie を見てみる-$