商社である A 社では,クラウドサービスを利用して取引先と商品情報の交換を行う Web システムを構築している。Web システムはコンテナ上で稼働する Web アプリケーション及びマイクロサービス群から構成されており,取引先システムから送られてくる刻々と変化する原価情報や,注文情報を扱うため,リアルタイム性の高い通信を必要とすることから,取引先システムとの接続には WebSocket を利用している。図 1 は, A 社 Web システムにおける,取引先システムとの連携のための,WebSocket 通信開始処理である。

A 社が取引先システムへ TLS で接続した際に,次の処理が行われる。

・A 社 Web システムは GET リクエストを送るが,このときのリクエストヘッダに“Upgrade: websocket”と”Connection: Upgrade”を含めることで WebSocket ハンドシェイクを開始する。

・取引先システムが WebSocket を受け入れる場合,応答ヘッダに __a__ を指定した上で,ステータスコードが __b__ である応答が返される。

・A 社 Web システムから Sec-WebSocket-Key として送られた 16 バイトの乱数に対して,取引先システムから Sec-WebSocket-Accept が応答されるが,これは 16 バイトの乱数と特定の固定値を連結して __c__ で計算したハッシュ値である。

図1 取引先システムとの連携のための WebSocket 通信開始処理

A 社 Web システムは,取引先システムとの通信において Sec-WebSocket-Accept で得た値を検証することで,相手システムが __d__ ということが確認できる。

設問 図 1 中の __a__ ~ __c__ ,及び本文中の __d__ に入れる字句の組合せはどれか。

出典プロフェッショナルデジタルスキル(システム)試験(仮称)科目B サンプル問題 問4

 a 

 b 

 c 

 d 

(一)

(三)

(五)

(七)

(一)

(三)

(五)

(八)

(一)

(三)

(六)

(八)

(一)

(四)

(五)

(七)

(一)

(四)

(六)

(八)

(二)

(三)

(五)

(八)

(二)

(三)

(六)

(八)

(二)

(四)

(五)

(七)

(二)

(四)

(六)

(七)

(二)

(四)

(六)

(八)