そもそもなぜCookieとセッションが必要なったか
webブラウザからwebサーバーへリクエストを送る際はHTTP通信で行う。HTTPは特徴としてステートレスであることが挙げられる。(状態を保持しない事)
そうするとAmazonなどのショッピングサイトに訪れ場合に不具合が生じる。
たとえば一回ログインしたのにブラウザを閉じるとまたログイン情報を入力しなければならない。
これはめんどくさいですよね。。
Cookie
サーバーからブラウザにレスポンスを送る際にブラウザに保存してもらいたい情報(ログイン情報等)をCookieという形の情報で送る。
HTTPレスポンスのメッセージヘッダーにCookieを含める事で送信する。
デベロッパーツールで簡単に確認することができる。
セッション
ブラウザとサーバーの一連のやり取りの事。
たとえば会員制サイトにログインしてログアウトするまで。
セッションを管理するためにCookieにセッションIDを含めて情報をブラウザで管理する。