Q1: WebSocket接続は通常どの形で始まる
Multiple Choice
**Explanation:**
**問題を出した背景:** WebSocket を「いきなり別 protocol で始まるもの」と思うと, proxy や CDN 配下の挙動を説明できません. まず HTTP handshake から始まることを押さえる問題です.
**用語:** RFC 6455 の WebSocket は, 最初に **HTTP request** を送り, `Upgrade: websocket` などで protocol 切替を要求します. ここが browser, proxy, origin の責務境界になります.
**Correct (C):** 通常の始まり方は, connection upgrade を要求する HTTP request です. その handshake が成立したあとに WebSocket framing へ切り替わります.
**選択肢:**
- A (incorrect): DNS TXT record の交換では始まりません. 名前解決の仕組みと接続開始手順は別です.
- B (incorrect): UDP broadcast で始まる protocol ではありません.
- C (correct): HTTP handshake から始めて protocol を切り替える, という要点を正しく言っています.
**関連:** ここを理解していると, なぜ HTTP/2 では別の bootstrapping が必要になるのかも追いやすくなります.