ひとことで言うと
セッションは、Webサイトが「いま対応している相手」を一時的に覚えておくための仕組みです。
HTTPは基本的に、1回1回のやり取りが独立しています。 そのままだと、前の画面でログインした人なのか、カートに何を入れたのかを続けて扱いにくくなります。 そこで使われるのがセッションです。
たとえ話でもう少し詳しく
セッションは、建物の受付で作る来訪記録に似ています。
- 来訪者が来たら、受付がその人用の記録を開く
- 滞在中は、その記録を見ながら案内や手続きを続けられる
- 長く来なければ、その記録は閉じる
Webサイトでも同じです。 アクセスしてきた相手に対して一時的な記録を持つことで、「この人はログイン済み」「この操作の途中にいる」といった状態を保てます。 ログイン状態や買い物かご、入力途中の情報などが扱いやすくなるのは、この仕組みのおかげです。
よく出る場面・使いどころ
- ログイン後のマイページ表示を保ちたいとき
- ECサイトでカートの中身を一時的に覚えたいとき
- フォーム入力の途中状態を維持したいとき
- 管理画面で、一定時間操作がなければ自動ログアウトさせたいとき
実務で気にするポイント
- セッションの有効期限を短すぎず長すぎず決める
- 重要な操作では、ログイン直後や権限変更時に識別子を更新する
- サーバー側で何を持つかを最小限にする
- 共有端末では、ログアウト時に確実に記録を閉じる
注意: セッションは「一時的な対応記録」です。利用者そのものを永久に表す台帳ではないので、長期保存する情報や本人確認の仕組みとは分けて考える必要があります。