この概念が出た関連問題

この試験の対策ガイド

情報処理安全確保支援士試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は イ

解説

HTTP/1.1においてGETとPOSTはフォームデータを送る際に異なる場所にデータを格納します。GETメソッド:データはURLのクエリストリング(?key=value)としてリクエスト行に含まれます(例:GET /search?q=test HTTP/1.1)。URLに表示されるため履歴やサーバログに残りやすく、大量データや機密情報には不向きです。POSTメソッド:データはメッセージボディに含まれます(例:フォームの入力内容、ファイルアップロードなど)。URLには現れないため機密情報の送信やデータ量が多い場合に適しています。したがって「GETならリクエスト行、POSTならメッセージボディ」の組み合わせである選択肢bが正解です。

なぜ他の選択肢は違うのか

選択肢 ア
「リクエスト行、ヘッダ」はGETとPOSTの両方を誤っています。POSTのデータはヘッダではなくメッセージボディに含まれます。HTTPヘッダにはContent-TypeやContent-Lengthなどのメタ情報が入りますが、フォームデータ本体は入りません。
選択肢 ウ
「ヘッダ、ヘッダ」はGETもPOSTも誤りです。GETのデータはリクエスト行(URLのクエリストリング)に含まれ、POSTのデータはメッセージボディに含まれます。
選択肢 エ
「ヘッダ、メッセージボディ」はPOST部分は正しいですが、GET部分が誤りです。GETのデータはヘッダではなくリクエスト行(URL)に含まれます。

解くときのポイント

HTTP GET/POSTのデータ格納場所:GET→リクエスト行(URLのクエリストリング)、POST→メッセージボディ。ヘッダにはメタ情報(Content-Type等)が入るが、フォームデータ本体は入らない。GETはURLに見える・POSTはURLに見えないの使い分けも合わせて覚える。