ホーム > 情報処理安全確保支援士試験 > 2025年 春期
情報処理安全確保支援士試験 2025年 春期 午前2 問20
Web ページ内の HTML フォームに入力されたデータが Web サーバに送られる際には、HTTP プロトコルの GET メソッド又は POST メソッドを用いたリクエストメッセージが使用される。このとき、入力されたデータはリクエストメッセージのどの部分に含まれるか。ここで、HTTP のバージョンは HTTP/1.1 とし、リクエストメッセージは、リクエスト行、ヘッダー、メッセージボディの順で構成されているものとする。

ア:
イ:(正解)
ウ:
エ:
解説
WebページのHTMLフォーム送信時のデータ格納場所【午前2 解説】
要点まとめ
- 結論:GETメソッドでは入力データはリクエスト行のURLに含まれ、POSTメソッドではメッセージボディに含まれます。
- 根拠:HTTP/1.1の仕様により、GETはクエリ文字列としてリクエスト行に、POSTはリクエストボディにデータを送信するためです。
- 差がつくポイント:GETとPOSTの違いを正確に理解し、リクエストの構成要素(リクエスト行、ヘッダー、メッセージボディ)を区別できることが重要です。
正解の理由
イが正解です。GETメソッドではフォームの入力データがURLのクエリパラメータとしてリクエスト行に含まれます。一方、POSTメソッドではデータはリクエストメッセージのメッセージボディ部分に含まれます。ヘッダーは主にメタ情報を伝えるためのもので、フォームデータは含まれません。
よくある誤解
GETメソッドでもデータがヘッダーに含まれると誤解されがちですが、実際はURLの一部であるリクエスト行に含まれます。POSTメソッドのデータはヘッダーではなくメッセージボディに含まれます。
解法ステップ
- HTTPリクエストの構成要素(リクエスト行、ヘッダー、メッセージボディ)を確認する。
- GETメソッドの特徴として、データがURLのクエリ文字列に含まれることを理解する。
- POSTメソッドの特徴として、データがメッセージボディに含まれることを理解する。
- 選択肢の内容とHTTP仕様を照らし合わせて正しい組み合わせを選ぶ。
選択肢別の誤答解説
- ア:GETはリクエスト行にデータがあるのは正しいが、POSTのデータがヘッダーにあるのは誤りです。
- イ:GETはリクエスト行、POSTはメッセージボディにデータがあるため正解です。
- ウ:GETもPOSTもヘッダーにデータがあるとしていますが、どちらも誤りです。
- エ:GETはヘッダーにデータがあると誤認しており、POSTは正しいがGETが間違いです。
補足コラム
HTTPのGETメソッドは主にデータの取得に使われ、URLにデータを含めるため長さ制限があります。POSTメソッドは大量のデータ送信に適しており、メッセージボディにデータを含めるためセキュリティ面でも優れています。フォーム送信時の使い分けはWeb開発の基本知識です。
FAQ
Q: なぜGETメソッドはデータをリクエスト行に含めるのですか?
A: GETはリソースの取得を目的としており、URLにクエリパラメータとしてデータを含めることで簡潔にリクエストを表現できます。
A: GETはリソースの取得を目的としており、URLにクエリパラメータとしてデータを含めることで簡潔にリクエストを表現できます。
Q: POSTメソッドのメッセージボディにはどんなデータが含まれますか?
A: フォームの入力データやファイルアップロードなど、送信したい情報が含まれます。ヘッダーはメタ情報のみです。
A: フォームの入力データやファイルアップロードなど、送信したい情報が含まれます。ヘッダーはメタ情報のみです。
関連キーワード: HTTP, GETメソッド, POSTメソッド, リクエストメッセージ, フォーム送信, メッセージボディ, クエリパラメータ