メインコンテンツへ
ネットワークWebテクノロジ

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・ファイルに格納される。

なぜ ア は間違いか

CookieとSessionの保存場所が逆。Cookieがクライアント、Sessionデータがサーバ側に保存される。

なぜ ウ は間違いか

CookieはHTTP・HTTPSどちらでも使用できる(Secure属性でHTTPS限定にもできる)。SessionもHTTP・HTTPS関係なく使える。

なぜ エ は間違いか

CookieとSessionは全く異なる仕組み。Cookieはクライアント保存、Sessionはサーバ保存という根本的な違いがある。

出典: AI生成問題(学習用)