基本情報技術者 テクノロジ系

Webアプリケーションにおけるセッション管理の目的として適切なものはどれか。

1. Webサーバの負荷を下げる
2. ステートレスなHTTPで状態を維持してログイン状態などを管理する ✓ 正解
3. Webページの表示速度を上げる
4. データベースへのアクセスを管理する

📝 解説

HTTP(HyperText Transfer Protocol)はステートレス(状態を持たない)なプロトコルであり、リクエストとレスポンスのたびに独立した通信が行われ、サーバは前回のリクエストを「覚えていない」設計になっています。セッション管理はこの制約を補い、「ログイン状態・ショッピングカートの内容・ユーザー設定」などの状態をリクエストをまたいで維持するための仕組みです。ホテルのルームキーに例えると、チェックイン時にカードキー(セッションID)を受け取り、それを提示することで部屋(自分のアカウント状態)にアクセスできる仕組みと同じです。仕組みとしては①ログイン成功時にサーバがランダムなセッションIDを生成→②サーバ側のセッションストア(DB・メモリ等)にセッション情報を保存→③クライアントのCookieにセッションIDを保存→④次回リクエスト時にセッションIDを送りサーバが対応する状態を取得します。セッションハイジャック(セッションIDの盗用)対策として、HTTPSの使用・HttpOnly/Secure Cookie属性・セッションIDの定期的な再生成が重要です。誤答の「Webサーバの負荷を下げる」はキャッシュ・CDNの目的、「表示速度を上げる」はパフォーマンス最適化です。「セッション管理=ステートレスなHTTPで状態を維持・セッションID+Cookie」と覚えましょう!

フラッシュカード形式で テクノロジ系 を練習する

🎴 練習する

テクノロジ系 の問題一覧・解説を見る →