HTTPの通信シーケンスにおけるGETリクエストの位置に関するネットワークスペシャリスト試験
了解です。
では 「HTTPの通信シーケンスにおけるGETリクエストの位置」 をテーマに、ネットワークスペシャリスト試験向け形式(択一+正解+解説+穴埋め+誤文訂正)で10問作成します。
HTTP/1.0とHTTP/1.1の違い、コネクション確立、TCP 3ウェイハンドシェイク後の流れなども含めています。
---
HTTP通信シーケンスでのGETリクエスト位置に関する問題(全10問)
---
問題1
HTTP/1.1の通信において、GETリクエストが送信されるのはどのタイミングか。
A. TCP 3ウェイハンドシェイクの前
B. TCP 3ウェイハンドシェイク直後
C. サーバがレスポンスを返した後
D. TCPコネクション終了後
【正解】 B
【解説】
HTTPはTCPの上位プロトコルであり、まずTCP 3ウェイハンドシェイクでコネクションを確立した後に、最初のリクエストとしてGETメソッドが送られる。
【穴埋め】
GETリクエストはTCP 3ウェイハンドシェイク ________ に送信される。
→ 直後
【誤文訂正】
GETリクエストはTCPコネクション終了後に送信される。
→ 正しくは確立直後に送信される。
---
問題2
HTTP/1.0でのGETリクエストに関する特徴として正しいのはどれか。
A. 複数のGETリクエストを同一接続で送信する
B. 原則として1接続1リクエスト
C. GETリクエストはTCP以外で送信される
D. GETリクエストはUDPで送信される
【正解】 B
【解説】
HTTP/1.0では、基本的に1つのTCPコネクションで1つのGETリクエストとレスポンスをやり取りし、レスポンス送信後に接続を閉じる。
【穴埋め】
HTTP/1.0では ________ 接続1リクエストが原則である。
→ 1
【誤文訂正】
HTTP/1.0では複数のGETリクエストを同一接続で送信する。
→ 正しくは1接続1リクエスト。
---
問題3
HTTP/1.1でのGETリクエスト送信位置に関する特徴として正しいものはどれか。
A. 1つの接続で複数回送信可能
B. 1つの接続で1回のみ送信可能
C. GETは必ず最後に送信される
D. GETはTCP 3ウェイハンドシェイク前に送信される
【正解】 A
【解説】
HTTP/1.1ではKeep-Aliveが標準化され、1つのTCP接続で複数のGETリクエストを順次送ることができる。
【穴埋め】
HTTP/1.1では1つの接続で ________ 回のGETリクエストが可能である。
→ 複数
【誤文訂正】
HTTP/1.1では1つの接続で1回のみGETリクエストを送信できる。
→ 正しくは複数回可能。
---
問題4
HTTP通信のシーケンスとして正しいものはどれか。
A. TCP接続 → GET送信 → レスポンス受信 → TCP切断
B. GET送信 → TCP接続 → レスポンス受信 → TCP切断
C. TCP接続 → レスポンス受信 → GET送信 → TCP切断
D. TCP接続 → TCP切断 → GET送信 → レスポンス受信
【正解】 A
【解説】
正しいHTTP通信の基本シーケンスは、TCPコネクション確立後にGETリクエストを送信し、レスポンスを受信して接続を終了する。
【穴埋め】
HTTP通信の順序はTCP接続 → ________ → レスポンス受信 → TCP切断である。
→ GET送信
【誤文訂正】
HTTP通信の順序はGET送信 → TCP接続 → レスポンス受信 → TCP切断である。
→ 正しくはTCP接続 → GET送信 → レスポンス受信 → TCP切断。
---
問題5
GETリクエストの送信位置として誤っているのはどれか。
A. TCP接続が確立していない状態
B. TCP接続確立直後
C. 同一接続内の2回目以降の要求
D. Keep-Alive接続での連続送信
【正解】 A
【解説】
HTTPはTCP上で動作するため、TCP接続が確立していない状態ではGETリクエストは送れない。
【穴埋め】
GETリクエストはTCP接続が ________ 状態では送信できない。
→ 未確立
【誤文訂正】
GETリクエストはTCP接続が未確立の状態でも送信できる。
→ 正しくは送信できない。
---
問題6
HTTP/1.1のパイプライニングでのGETリクエスト位置に関する説明で正しいものはどれか。
A. 複数のGETリクエストをレスポンス待ちせず連続送信できる
B. GETリクエストは常に1つずつ送信する必要がある
C. パイプライニングはHTTP/1.0でのみ使用可能
D. GETはレスポンス後にしか送信できない
【正解】 A
【解説】
HTTP/1.1ではパイプライニングにより、レスポンス待ちをせず複数のGETを連続送信できる。ただしHTTP/2以降ではストリーム制御が主流。
【穴埋め】
パイプライニングではレスポンス待ちをせず ________ のGET送信が可能である。
→ 連続
【誤文訂正】
パイプライニングではGETはレスポンス後にしか送信できない。
→ 正しくはレスポンス待ちをせず送信可能。
---
問題7
TLS(HTTPS)通信でのGETリクエスト送信位置として正しいものはどれか。
A. TCP接続直後
B. TLSハンドシェイク完了後
C. TCP接続前
D. TLSハンドシェイク途中
【正解】 B
【解説】
HTTPSでは、TCP接続確立後にTLSハンドシェイクを行い、暗号化セッション確立後にGETリクエストを送信する。
【穴埋め】
HTTPSではGETリクエストはTLSハンドシェイク ________ に送信される。
→ 完了後
【誤文訂正】
HTTPSではGETリクエストはTLSハンドシェイク途中に送信される。
→ 正しくは完了後に送信される。
---
問題8
HTTP通信シーケンスにおいて、GETリクエストが最初に送られるまでの流れとして正しいのはどれか。
A. TCP 3ウェイハンドシェイク → GET送信
B. GET送信 → TCP 3ウェイハンドシェイク
C. DNS解決 → GET送信 → TCP接続
D. TCP接続 → DNS解決 → GET送信
【正解】 A
【解説】
実際にはDNS解決後、TCP 3ウェイハンドシェイクを行い、その後GETリクエストを送信する。
【穴埋め】
GETリクエストはTCP 3ウェイハンドシェイク ________ に送られる。
→ 後
【誤文訂正】
GETリクエストはTCP 3ウェイハンドシェイク前に送られる。
→ 正しくは後に送られる。
---
問題9
HTTP/2におけるGETリクエストの位置に関する説明で正しいものはどれか。
A. TCP接続後、HTTPフレームとして送信される
B. TCP接続前に送信される
C. GETは常に最後のストリームで送信される
D. GETはUDPで送信される
【正解】 A
【解説】
HTTP/2ではTCP接続後にHTTPフレーム形式でGETが送信され、複数のストリームで並行送信できる。
【穴埋め】
HTTP/2ではGETはTCP接続後にHTTP ________ として送信される。
→ フレーム
【誤文訂正】
HTTP/2ではGETはTCP接続前に送信される。
→ 正しくは接続後。
---
問題10
Webブラウザで初回アクセス時に送信されるGETリクエストの位置として正しいものはどれか。
A. DNS解決 → TCP接続 → GET送信
B. TCP接続 → DNS解決 → GET送信
C. GET送信 → DNS解決 → TCP接続
D. DNS解決 → GET送信 → TCP接続
【正解】 A
【解説】
ブラウザはまずホスト名のDNS解決を行い、その後TCP接続を確立し、最初のGETリクエストを送信する。
【穴埋め】
ブラウザの初回アクセス時はDNS解決 → ________ → GET送信の順で行われる。
→ TCP接続
【誤文訂正】
ブラウザの初回アクセス時はTCP接続 → DNS解決 → GET送信である。
→ 正しくはDNS解決 → TCP接続 → GET送信。
---
もし希望があれば、この内容を 午後Ⅰのパケットキャプチャ解析問題 に変換して、実際のGETリクエストのタイミングをパケット番号とシーケンス番号で問う問題も作れます。
次にそれを作成しますか?
コメント
コメントを投稿