セッション
読み
せっしょん
意味
- ユーザーがWebサイトやアプリケーションを利用している一連の期間中にサーバ側で状態を保持する仕組み
- HTTPはステートレスなのでセッションIDをCookieなどで保存しユーザーの情報(ログイン状態・カート内容など)を追跡する
- サーバ側のメモリやデータベース・Redisなどに保存されセッションタイムアウトや明示的なログアウトで終了する
比喩
図書館での利用時間のようなもの。入館から退館までその人の利用状況(借りた本など)を把握・管理する。
語源
session = 会期・期間。ラテン語のsessio(座ること・会議)が語源
例文
- ログイン時にセッションを作成しユーザーIDをセッションに保存して各リクエストで認証状態を維持している
- セッションタイムアウトを30分に設定し無操作が続くと自動的にログアウトさせてセキュリティを確保した
- Redisにセッションデータを保存し複数のWebサーバ間でセッション情報を共有してスケーラビリティを実現した
よくある勘違い
- セッションとCookieを混同すること → Cookieはクライアント側でセッションはサーバ側の概念
- セッションに大量のデータを保存すること → サーバのメモリを圧迫するので必要最小限にすべき
- セッションは永続的だと思うこと → タイムアウトやサーバ再起動で消える揮発性のデータ