令和5年度 ネットワークスペシャリスト 午前Ⅱ 問1:HTTP/2の仕様

Tech

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: 重複するヘッダ情報を差分送信・圧縮してデータ量を削減。

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

タイトルとURLをコピーしました