メインコンテンツへジャンプ
ASP.NETのTips満載!

チュートリアル

文責:山田奈美最終更新日:2006年02月20日

セッションとは?

キャラクターイラスト

セッションとは、アプリケーションにアクセスして終了するまでの一連の単位のこと。

たとえば、ネットショッピングだったら、ログインして(お店に入って)商品を検索・決定し、買い物かごに入れて、精算して買い物を終えるまでの一連のながれをまとめたもののことだよ。

セッション情報

セッション情報とは、全セッション共通で保持される情報のことを言います。

たとえば、ログインIDが当てはまります。色々なお店が入っている電子商店街があったとします。その商店街でお買い物をするには、お客さまID(ログインID)が必要だとします。

複数のお店でお買い物をしたい時、それぞれのお店のページに入るたびにログインするのは面倒です。

そんな時にセッション情報が役立ちます。お客さんがログインしたら、ログインID(セッション情報)がサーバに保存されます。お客さんがその商店街のどのお店で買い物をしても、すべての精算を終える(商店街を立ち去る)まで、セッション情報は保持されるので、お客さんは他のお店に行くたびにログインする必要がなくなります。

ログインID(セッション情報)はどう管理されるの?

ログインID(セッション情報)は、セッションIDとセットでサーバ側にて管理されます。サーバ側のメモリやデータベース上に保存されます。ログインIDがたとえば「yamada」だとすると、セッションIDは「yamada」ではなくて、サーバで自動生成される複雑なキーになります。人間が見ても何の意味もないキーです。

クライアント(ブラウザ)とサーバとのやりとりではセッションID(サーバで自動生成されたキー)が行き来するので、「yamada」という文字(ログインID)が盗聴される心配は殆どありません。

ちょっとやり取りを見てみましょう。

  1. お客さんが「yamada」というログインIDでログインして、サーバへページを要求します。
  2. 要求されたページがサーバから送信されます。同時にセッションIDも発行(送信)されます。
  3. お客さんが、お買い物をしたいページをサーバへ要求します。一緒に先ほどもらったセッションIDも送信します。
  4. サーバは、送られてきたセッションIDをキーに、サーバに保存されているセッション情報を取得します。「yamada」さんからの要求だとわかります。
コンテンツの終わりです。