style_prompt本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
令和5年度 ネットワークスペシャリスト 午前Ⅱ 問1:HTTP/2の仕様
HTTP/2における通信効率化の仕組み、特に一つのTCPコネクション上での複数リクエスト並列処理(ストリーム)の特性を問う問題です。
【問題】 HTTP/2の仕様に関する記述のうち、適切なものはどれか。
ア 1本のTCPコネクション上で、複数のHTTPリクエスト/レスポンスを並行してやり取りする多重化をサポートしている。 イ HTTPリクエストごとにTCPコネクションを確立し、一つのTCPコネクションでは一つのHTTPリクエストだけを処理する。 ウ HTTPヘッダを圧縮する機能はなく、テキスト形式のまま転送する。 エ サーバからクライアントに対して、リクエストされていないリソースをプッシュ送信する機能は廃止された。
【解説】 HTTP/2(RFC 7540)は、従来のHTTP/1.1で課題となっていた「ヘッドオブラインブロッキング(先頭リクエストの遅延が後続に影響する問題)」を解消し、Web表示を高速化するために策定されました。
最大の特徴はストリームという概念の導入です。一つのTCPコネクションの中に仮想的な双方向シーケンス(ストリーム)を複数生成し、データをフレーム単位に分割して送受信します。これにより、複数のリクエストを順序に関係なく並行して処理(多重化)することが可能になりました。
sequenceDiagram
participant Client
participant Server
Note over Client, Server: 1本のTCPコネクション
Client ->> Server: ストリーム1: GET /index.html
Client ->> Server: ストリーム3: GET /style.css
Server ->> Client: ストリーム1: DATA (index.htmlの一部)
Server ->> Client: ストリーム3: DATA (style.cssの全部)
Server ->> Client: ストリーム1: DATA (index.htmlの残り)
【選択肢の吟味】
| 選択肢 | 判定 | 解説 |
|---|---|---|
| ア | 正解 | HTTP/2の「ストリームによる多重化」の定義通りです。 |
| イ | 不正解 | これはHTTP/1.0以前の動作、またはHTTP/1.1の非効率な状態を指します。 |
| ウ | 不正解 | HTTP/2では「HPACK」というアルゴリズムを用いたヘッダ圧縮が標準化されています。 |
| エ | 不正解 | 「サーバプッシュ」はHTTP/2の主要機能の一つです。※HTTP/3では制限的ですが存在します。 |
【ポイント】
ストリームによる多重化: 1つのTCPコネクションで複数リクエストを同時並行処理。
バイナリフレーム化: テキストベースからバイナリ形式に変更し、解析効率を向上。
HPACK: 重複するヘッダ情報を差分送信・圧縮してデータ量を削減。


コメント