セッション

セッションとは

webサーバーとwebブラウザでの一連の処理の流れのこと

  • 例(ECサイト)
    1. 商品をカートに追加する
    2. 注文画面に進む
    3. 商品を購入する

上記の処理において、webサーバーとwebブラウザの処理は合計3回だが、「ECサイトで商品を購入する」という論理的な意味での処理は1回である

この論理的な意味での処理の流れをセッションという

なぜセッションが必要なのか

  • http通信はステートレスなプロトコルのため
    webサーバーとwebブラウザはhttpプロトコルによって通信しており、このプロトコルは状態を保存しないステートレスなプロトコルとなっている。
    そのため、前回の通信内容を記録しておかなければ、論理的な意味での処理が出来なくなる。

どうやって情報を保存しているのか

  • CookieにセッションIDを記録して、webサーバーが通信内容を保存している
    Cookieはwebサーバーからwebブラウザに識別のために保存された情報。

    つまり、Cookieによってwebブラウザの情報を保持することができる。
    しかし、Cookieの中に個人情報が含まれていた場合、盗聴により通信内容が第三者に見られてしまう危険性がある。

    セッションIDはCookieの中に保存されるwebサーバーがwebブラウザを識別する番号
    セッションIDをCookieに保存することで下記のメリットがある

    • セッションIDはただの番号なため、通信内容を盗聴出来ない
    • Cookieに保存する情報量を気にしなくても良い

    つまり、セッションIDをCookieに保存することで、webサーバーがwebブラウザを識別することができ且つ安全に通信を行うことができる

参考