ネットワークスペシャリスト試験 令和5年度 春期 午後1 問1
【出典:ネットワークスペシャリスト試験 令和5年度 春期 午後1 問1(一部、加工あり)】
[HTTP/2における通信開始処理]
HTTP/2では、通信方法として、h2という識別子で示される方式が定義されている。その方式の特徴を次に示す。
- TLSを用いた暗号化コネクション上でHTTP/2通信を行う方式である。
- TLSのバージョンとして1.2以上が必要である。
- HTTP/2の通信を開始するときに、ALPNを用いて③クライアントとサーバとの間でネゴシエーションを行う。
Hさんが理解したh2の通信シーケンスを図3に示す。
このシーケンスによって、上位プロトコルがHTTP/2であることが決定される。
下線③について、h2のネゴシエーションが含まれるシーケンス部分を、図3中の(a)〜(i)の記号で全て答えよ。:(d)、(e)
「HTTP/2の通信を開始するときに、ALPNを用いて③クライアントとサーバとの間でネゴシエーションを行う。」
問題文と図3(h2の通信シーケンス(抜粋))では丁寧に説明されていて、ALPNのことを理解できなくても分かりそうです。
通信シーケンスは、「TCP3ウェイハンドシェイク」の(a)〜(c)、「TLSセッション開始」の(d)〜(e)、「HTTP/2通信」の(f)〜(i)で構成されています。
HTTP/2の通信に先立って行われる処理は(f)より前の処理であり、クライアントとサーバとの間のネゴシエーションということから、「TLSセッション開始」の(d)〜(e)が該当します。
下線③について、ネゴシエーションでクライアントから送られる情報は何か。35字以内で答えよ。:クライアントが利用可能なアプリケーション層のプロトコル
前の設問で、ALPNを必要とする目的が問われ、「通信開始時に、TCPの上位プロトコルを決定するため」という回答でした。
同じことを問われているようですが、もう少し具体的にクライアントから送られる情報は何かを考えます。
ネゴシエーションにより決定されるのは「HTTP/1.1」か「HTTP/2」です。
「HTTP/1.1」「HTTP/2」は、TCPの上位プロトコルであるアプリケーション層のプロトコルですので、クライアントが利用可能なアプリケーション層のプロトコルを送ることになります。