1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

セッションの仕組みをふわっといらすとやで

Last updated at Posted at 2020-02-01

HTTP通信はステートレスな(状態を持たない)通信のため、全てのユーザーは毎回訪れる度に初回訪問扱いになる。
例えば、何十万のアクセスユーザーに対してマイページを表示しようとする場合、再訪問者かどうかを過去のデータから判別して処理を行っていくと、膨大な情報処理が必要となり対応が追い付かなくなってしまう。
stateless.jpg

セッションとはブラウザ(Webクライアント)からサイトにアクセスした際の情報を保持する仕組みで、主に次の処理を見えない裏側で自動的に行なっている。

初回訪問時、個々のブラウザ(Webクライアント)上のCookieを利用し、セッションIDという個別の識別番号を自動発行し、擬似的に「訪問済み」の状態を保持させ、サーバの負荷を軽減する。また、セッション変数(スーパーグローバル変数)の使用を許可するため、プログラム側で値の代入も同時に行える。
session1.jpg

次回訪問時、セッションIDを識別し同じ訪問者であることを認証できた場合のみ、セッション変数の値を参照できるようになる。違う訪問者であれば、その都度新たなセッションIDを発行する。
session2.jpg

データベースのログイン認証が承認された場合は、セッション変数に許可であることを示すフラグ値を登録する。マイページごとにそのフラグの許可値を保持しているかチェックし、承認されていない場合は不正アクセスと見なしログインページにリダイレクトされる。
session3.jpg

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?