ネットワーク
CookieとSessionの違いに関する説明として最も適切なものはどれか。
ア.Cookieはサーバ側に保存され、SessionはクライアントのPC内に保存される。どちらもHTTPリクエスト毎に自動的に送受信される。
イ.CookieはクライアントのブラウザにデータをKey-Value形式で保存する仕組み。Sessionはサーバ側でセッションIDと紐付けてデータを管理する仕組みであり、クライアントにはセッションIDのみをCookieで渡す。正解
ウ.CookieはHTTPSのみで利用可能で、SessionはHTTPでのみ動作するため、一般にCookieのほうが安全性が高い。
エ.CookieとSessionは同一の仕組みであり、名称が異なるだけ。どちらもサーバのメモリに格納される。
解説
CookieとSessionの違いは「荷物の預け場所」で理解できる。Cookieはお客さん(クライアント)が自分のカバンに荷物を入れて持ち歩く方式。Sessionはコインロッカー(サーバ)に荷物を預けて、鍵(セッションID)だけ持ち歩く方式。
なぜ イ が正解か
Cookie: ブラウザ(クライアント側)に保存される小さなデータ。ログイン状態・ユーザー設定などをキーバリュー形式で保存。ブラウザがHTTPリクエスト毎にサーバへ自動送信する。有効期限を設定でき、ブラウザを閉じても保持可能。Session: データはサーバ側に保存し、クライアントにはセッションIDだけをCookieまたはURLパラメータで渡す。機密データをクライアントに置かないため安全性が高い。サーバのメモリかDB・ファイルに格納される。
出典: AI生成問題(学習用)