Cookie とサーバー側セッションの一般的な関係はどれ?
正答
- Cookie にログイン状態や権限などのデータをそのまま保存する
- セッションはサーバー内で完結し、Cookie は識別に使われない
- Cookie は HTTPS 専用で、HTTP の通信ではセッションを使えない
- Cookie にはセッション ID だけを入れ、本体のデータはサーバーが持つ
解説
HTTP は 1 回ごとのリクエストが独立したステートレスな仕組みなので、ログイン状態を保つにはリクエストをまたいで同じ利用者だと識別する手段が要る。一般的なのは、サーバーが推測困難なセッション ID を発行して Set-Cookie で渡し、ブラウザが以後のリクエストに Cookie として付け、サーバーが ID をキーに保存した状態を引き出す方式。権限などのデータを Cookie に直接入れると利用者が改ざんできるため避ける。Cookie 自体は HTTP でも送られる(だから Secure 属性がある)。
この問題を含む HTTP・Web 基礎 のテストを制限時間つきで解く
HTTP・Web 基礎クイズへ