▪️目的
この記事ではセッションについて解説していきます。
セッションもCookieと同様に、ユーザがWEBサイトを快適に使用するために不可欠なものです。
「セッション」と「Cookie」はよく意味が混同されることがありますが、その違いについても解説します。
*もし、「Cookie」が何かよく分からないという方は、本章を読む前に以下の記事を読んでください。
「セッション」と「Cookie」の違いが分かり、本章の理解がスムーズになります。
▪️セッションとは
セッションは、「ユーザがログインしてからログアウトするまでといった一連の利用状態を管理する」仕組みです。
▪️セッションの仕組み

①ログインする
ユーザが「ID」「パスワード」を入力し、サーバに送信する。
サーバが認証し、ログイン状態を管理するための「セッション」を作成する。
②サーバがセッション情報を保持する
例えば、サーバ側で以下のような情報を保存する。
・セッションID:abc123
・ユーザID :user001
・ログイン状態:ログイン済み
・有効期限 :1時間後など
③ユーザが別のページに移動してもログイン状態を維持する
ブラウザが「Cookie」に保存した「セッションID」をリクエストにつけて送信する。
サーバはこの「セッションID」を使って、セッション情報を確認し、ユーザがログイン済みと判断する。
▪️なぜセッションが必要なのか
HTTPは基本的にリクエスト毎に独立しています。
例えば、ログイン後にマイページへ移動しても次のリクエストだけでは「さっきログインした人と同じ」とは分かりません。
そこで、「Cookie」を使ってセッションを識別し、複数のリクエストを跨いでログイン状態を維持します。
また、セッションはログインだけでなく、ショッピングカートの状態管理にも用いられます。
▪️セッションとCookieの違いは
セッションは「状態を管理する仕組み」、Cookieは「ブラウザにデータを保存してサーバへ送る仕組み」です。
それぞれの違いは下記のようになります。

Cookieは「セッションを作る上で必要な要素の1つ」と考えると分かりやすいです。
*ただし、例外もあります。
実はCookieにログイン情報や認証トークンそのものを格納することもあります。その場合はサーバにセッション情報を保存しません。
▪️まとめ
ユーザがログインし、ログイン状態を保持しながら他のページに移動するだけの行為には、裏側でこのような仕組みが存在するから成り立っています。その仕組みを構成する要素の一つが「Cookie」です。
「セッション」と「Cookie」は混同されやすいですが、厳密には同じではありません。ぜひ覚えておいてください。

No responses yet