クッキーとセッションについて図を用いて理解していこうと思います。
■前提
・HTTP通信・・・クライアントとサーバーの間でテキストでやりとりしましょうというお約束のこと。(下記の図)
簡単に言うと一連の通信のことをセッションと言います。
[例え]
リクエスト(この情報が欲しいな〜)してレスポンス(これだよー)が返ってくるこの一連の流れのこと
#通常のHTTP通信
またWebではHTTP通信をしています。
普通のHTTP通信だと上図のように情報を保持できないの通信を行う度に初めての状態が続きます。
これだと不便なことがあります。
[例え:ECサイト]
・以前見た商品の履歴が見れない。
・商品をお気に入りに入れていたのにお気に入りに入っていない。
など不便なことが起こります。
サーバーからしたら
「誰ですか?初めましての人だな!」という状態。
ではどうしたら不便なことが解決できるか?
クッキーとセッション管理を使うことによって解決が可能です。
#クッキー、セッション管理を使ったHTTP通信
クッキー、セッション管理を使ったHTTP通信だと上図のように情報を保持できます。
先ほどの不便なことは解決されるわけです。
具体的に見ていきましょう。
#クッキー、セッション管理仕組み
クッキー・・・クライアント側でセッション情報を持つもの
セッション管理・・・情報を保持するための仕組み
セッション情報(セッションID)・・・保持したい情報そのもの
■初回
①サーバーからセッションIDが発行されます。
セッションIDをクッキーが格納し、クライアントにクッキー(クッキーかけら)を渡します。
この時点でクライアントとサーバーにクッキー(クッキーかけら)があります。
クッキーがユーザー情報を持っているイメージ。
■2回以降
②クッキー(クッキーかけら)をサーバーに渡します。
③クライアントとサーバーのクッキー(クッキーかけら)を合体させることによって、
サーバーは以前ユーザーだと判断できます。
ざっとですけど概要はこんな感じだと思います。