モチベーション
- 昨日、「ステートレスかステートフルか」という記事を書いた
- その中で、ステート(状態)について、調べるとステートとセッションは似た概念なのではないかと思った
- そのため、深堀って調べてみた
ステートとセッション
ステート
- ステートは抽象的な概念であり、様々な"状態"を意味している
- 具体的に言えば…
- システム関係
- サーバーの起動状態(起動中、停止中)
- リソース状況(CPU稼働率)
- フォームの入力状況(カートに入れたものの情報)
- ユーザーのログイン状態
- アーキテクチャの構成(2つのEC2と1つのRDSが起動中)
- ネットワーク
- セッション状態(接続済み、切断済み)
- プログラム
- 変数の値
- システム関係
セッション
- クライアントのアクションを記録するための、クライアントとサーバーの繋がり
- 具体的に言えば…
- ユーザーがウェブサイトに接続したときからサーバーから切断するまでの期間
- TCPによるコネクションが確立してから解放されるまで
- Webサイトのユーザーがログインしてからログアウトするまでの一連の行動
関係性
- 私が一番理解に繋がった考え方
- セッションはステートを維持するための、一時的もしくは永続的な繋がり
ソース
- chatgptの回答を参考