WebSocketとは?うぇぶそけっと
WebSocketとは、HTTPのGETにUpgradeヘッダを付けたハンドシェイクから始まり、成立後は同じTCPコネクションの上を双方向・全二重で流し続ける通信方式。サーバ側の都合で任意のタイミングにデータを送れるため、クライアントが更新の有無を繰り返し問い合わせる必要がなくなる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
HTTPは要求があって初めて応答を返す形しか持たないため、サーバ側で起きた変化を伝えるには、クライアントが短い間隔で問い合わせ続けるしかなかった。この方式は更新が無いときもヘッダを往復させ、接続の張り直しも伴うので、利用者数に比例して無駄な負荷が積み上がる。接続を1本張ったまま双方向に使えるようにして、この往復を丸ごと省いたのがWebSocketである。
具体例
SlackやGoogleドキュメントのように、他人の操作が即座に自分の画面へ反映される仕組みはこの方式で動く。ネットワーク側では、無通信が続いた接続を切ってしまうプロキシやロードバランサのアイドルタイムアウトをどう設定するかが設計上の争点になる。
試験での引っ掛け
入口がHTTPのハンドシェイクなので既存のポート開放のまま通ってしまい、成立後の中身はHTTPのメソッドやURLでは検査できなくなる点が見落とされやすい。スキームはws://で、TLSを使う場合はwss://。http://のまま指定しても接続は確立しない。
関連用語
出た過去問
出典:平成28年度 秋期 ネットワークスペシャリスト試験 午前Ⅱ 問15(IPA)
チャットアプリケーションのようなWebブラウザとWebサーバ間でのリアルタイム性の高い双方向通信に利用されているWebSocketプロトコルの特徴はどれか。
正解:Webブラウザは最初にHTTPを使ってWebサーバにハンドシェイクの要求を送る。
要点:WebSocketはHTTPで握手した後に双方向通信へ移行する
WebSocketでは、まずクライアントがHTTPリクエストにUpgradeヘッダを付けてハンドシェイクを要求し、サーバが応じるとプロトコルがWebSocketへ切り替わる。以後は同じTCPコネクション上で、サーバからの送信も含めた双方向通信を低いオーバヘッドで継続できる。ポーリングを繰り返す必要がないため、チャットのようなリアルタイム用途に適する。
出典:平成30年度 秋期 ネットワークスペシャリスト試験 午前Ⅱ 問15(IPA)
WebSocketの説明として、適切なものはどれか。
正解:通信はGETメソッドで始まり、クライアントとサーバ間でハンドシェイクをして接続が確立する。
要点:WebSocketはHTTPのGETによる握手から始まる
WebSocketの通信は、クライアントがUpgradeヘッダを付けたHTTPのGETリクエストを送るところから始まる。サーバがステータスコード101で応じるとハンドシェイクが成立し、以後は同じTCPコネクション上でWebSocketの双方向通信へ切り替わる。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。