【ウェブトランスポート】

WebTransport とは?

💡 WebSocketの進化系!HTTP/3の力で通信をもっと速く、もっと自由に
📌 このページのポイント
WebSocket vs WebTransport プロトコルスタック WebSocket WebSocket API HTTP/1.1 Upgrade TCP TLS 1.2/1.3 ⚠ 単一ストリーム ⚠ 信頼性ありのみ WebTransport WebTransport API HTTP/3 QUIC(UDPベース) TLS 1.3(組み込み) ✓ 複数ストリーム ✓ ストリーム+データグラム
WebSocket vs WebTransport のプロトコルスタック比較
ひよこ ひよこ

WebTransportってWebSocketと何が違うの?名前が似てて混乱するんだけど…

ペンギン先生 ペンギン先生

WebSocketHTTP/1.1の上で動く双方向通信だけど、WebTransportはHTTP/3QUIC)の上で動くんだ。QUICUDPベースだから、TCPのような「前のデータが届くまで次を待つ」問題が起きにくいんだよ

ひよこ ひよこ

じゃあ速くなるってこと?

ペンギン先生 ペンギン先生

そう!特にパケットロスが起きたときの回復が速いんだ。しかもWebTransportは「信頼性あり」のストリームと「信頼性なし」のデータグラムを使い分けられるから、チャットメッセージは確実に届けて、ゲームの位置情報は最新だけ届けばOK、みたいな柔軟な設計ができるんだよ

ひよこ ひよこ

信頼性なしって大丈夫なの?データ届かなかったら困らない?

ペンギン先生 ペンギン先生

リアルタイムゲームや動画配信だと、古いデータを再送するより最新データを優先したほうがいいんだ。1フレーム前の位置情報を再送されても意味ないよね。そういう場面ではあえて信頼性を捨てるのが正解なんだよ

ひよこ ひよこ

でもWebSocketはもう使われなくなるの?

ペンギン先生 ペンギン先生

すぐにはなくならないね。WebTransportはまだブラウザのサポートが進んでいる段階だし、チャットのような用途ならWebSocketで十分。ただ、HTTP/3が普及するにつれてWebTransportの採用は確実に増えていくだろうね

ひよこ ひよこ

複数ストリームってどういうメリットがあるの?

ペンギン先生 ペンギン先生

WebSocketだと1本のコネクションに全データが流れるから、1つのメッセージが詰まると全体が止まる。WebTransportなら独立した複数のストリームを使えるので、音声・映像・テキストを別々に流して、どれか1つが遅れても他に影響しないんだよ

ひよこ ひよこ

それってすごく便利だね!サーバー側の実装は大変じゃない?

ペンギン先生 ペンギン先生

HTTP/3対応のサーバーが必要だから、既存環境からの移行はちょっと手間がかかる。でもコードの行数自体はWebSocketとそこまで変わらないし、ブラウザAPI設計もシンプルだから、慣れれば使いやすいプロトコルだよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「WebTransport」って出てきたら「HTTP/3ベースの超高速な双方向通信の仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「WebTransport」 = Web上のトランスポート(転送)技術
💬 そのまま「Web上の転送技術」という意味。HTTP/3の新機能を活かして、Webブラウザからでもゲームサーバー並みの高速通信ができるようにしたプロトコルだよ
← 用語集にもどる