セッション管理

おすすめ
 

セッションとは

セッションとは、ブラウザとサーバとのやりとりにおいて一連の関連性のある処理の流れのこと。

セッション管理の方法

セッション管理とは、セッションでやりとりされる情報を保持する仕組みのこと。
個々のユーザのデータを個別に管理する機能。
主な用途:ログイン状態の管理

Cookieを利用したセッション管理

問題点

  • Cookieが保持できる値の数やサイズには制限がある
  • ユーザが閲覧・改変できる

Cookie & セッション変数を利用したセッション管理

サーバは個々のブラウザを識別するためにセッションIDと呼ばれる一意の識別子を生成する。
生成したセッションIDを Cookie を利用してブラウザ側に送信する。
セッション中で保持すべき情報は、セッションIDと紐づけてWebサーバ側で格納される。
格納されるキーと値の形式の情報をセッション変数と呼ぶ。
 

動作フロー

  1. ブラウザはサーバにリクエストを送信する。
  1. サーバは個々のブラウザを識別するためにセッションIDと呼ばれる一意の識別子を生成し、ブラウザへ送信する。
  1. ブラウザは以降のセッションでCookieでセッションIDを送信する
  1. サーバはセッションIDに紐付く情報を参照し、動的なレスポンスを返す。
 

cookieとセッション変数の比較

Cookieセッション変数
情報保存場所クライアント(ブラウザ)側サーバ側
情報保持期間永続保持可能セッション終了(ログアウト・ブラウザ終了)時に削除
サイズ制限制限あり制限なし
ユーザによる情報参照・改変可否×