セッションの概念について理解が進んだ
2021年08月07日
PHPやサーバサイドのプログラミングをしていると、セッションという概念がよく出てきますが、分かるようで分からないような概念だなと思っていました。
サーバ側でセッションを保持するとか、それってつまりどういうこと?
という風に思っていたのですが、要はセッションというのは、特定のユーザに紐づく一定時間の間保持する情報をデータとして保持する仕組みということです。
その仕組みは、phpのセッションを使うのであれば、PHPのミドルウェアの中にプログラムで作られていますし、フレームワークのセッションの仕組みであれば、フレームワークのライブラリの中でプログラムで実装されています。
セッションがサーバ側でデータを保持する仕組みというのは、要はデータであれば何でもいいので、特定のフォルダ以下にファイル形式で書き出してある場合もあれば、データベースで保持する場合もあります。
PHPはデフォルトでは、ファイル形式で特定のフォルダ以下に書き出す形式なので、ファイルで書き出す形式が多いようです。
PHPのフレームワークのCakephpの場合、デフォルトの設定ではファイル形式で書き出しますが、設定を変更することでデータベース側でセッションを持つような仕組みにすることも可能です。
まとめ
セッションというのは、一定の時間の間だけサーバ側で特定のデータを保持する仕組みのこと。
そのデータを保持する形式は、ファイル形式の場合もあればデータベース形式の場合もある。