セッション
セッションというのは、「リクエストとその"主"を結びつける」ための概念、仕組みのこと。
HTTPはステートレスなプロトコルであるため、これをステートフルに変えるものがセッション。
セッションという概念を実装するには「キーの受け渡し」をする必要ある。「キー」というのは「Session ID」と呼ばれ、一連のセッションに対しての識別子(ID)を指す。
この「Session ID」をキーとして、サーバー側に様々な情報を保存させる。
そしてその「キーの受け渡し」を実現するための実装がクッキー。
クッキー
Cookieは、RFCでも明示的に定められている一つの「仕様」であり「実装」のこと。
サーバサイドからクライアントに対して書き込める小さなテキスト。
クライアントベースの情報維持の仕組み。クッキーはクライアント側に全ての値を保存させますからユーザーが改変可能。
そのため、クライアント側には「Session ID」だけを渡し、クライアントはサーバにアクセスする際に、この「Session ID」をヘッダ情報として送信することで、クライアントはサーバに保管された自身のセッション情報を参照する。