ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
概要
Web 通信プロトコルとは、Web ブラウザやアプリケーションと Web サーバが互いにデータをやり取りするための「通信の約束事」をまとめた総称です。最も基本となるのは HTTP とその暗号化版である HTTPS ですが、Web の用途がページ閲覧からリアルタイムアプリ・動画・ゲーム・ビデオ会議へと広がるにつれ、従来の HTTP では性能や機能が足りない場面が増えてきました。本セクションでは、その課題を解決するために生まれた現代的な Web 通信プロトコル群を集約して解説します。親項目は プロトコル です。
具体的には、HTTP の性能を底上げした HTTP/2、トランスポートを UDP ベースの QUIC に置き換えた HTTP/3、双方向のリアルタイム通信を可能にする WebSocket、マイクロサービス間の高速な遠隔手続き呼び出しを担う gRPC、ブラウザ同士を直接つなぐ WebRTC を扱います。いずれも、土台にあるトランスポート層 (TCP / UDP) の上に構築されています。
仕組み
これらのプロトコルは「従来の HTTP/1.1 では何が足りないか」を起点に理解すると整理しやすくなります。HTTP/1.1 はテキストベースで、1 本の接続で 1 つの要求と応答を順番に処理するため、複数のリソースを取得する際に待ち行列 (ヘッドオブラインブロッキング) が起きやすいという課題がありました。
- HTTP/2: 通信をバイナリのフレームに分割し、1 本の TCP 接続上で複数のリクエストを多重化 (ストリーム) して並行処理します。ヘッダ圧縮 (HPACK) も加わり、ページ読み込みが高速化します。
- HTTP/3: TCP そのものが持つヘッドオブラインブロッキングを解消するため、トランスポートを UDP 上の QUIC に置き換えました。接続確立が速く、ネットワークが切り替わっても接続を維持できます。
- WebSocket: 最初は HTTP として接続し、途中でプロトコルをアップグレードして「常時つなぎっぱなしの全二重通信路」に切り替えます。サーバからクライアントへ自発的にデータを送れます。
- gRPC: HTTP/2 を土台に、関数呼び出しの形で通信する RPC フレームワークです。データは Protocol Buffers でバイナリ化され、双方向ストリーミングにも対応します。
- WebRTC: サーバを経由せず、ブラウザ同士を直接 (P2P) つなぎ、音声・映像・任意データを低遅延でやり取りします。NAT 越えのために STUN/TURN/ICE を使います。
実用例
現在のサイトがどのプロトコルで通信しているかは、ブラウザの開発者ツールやコマンドで確認できます。
# curl で HTTP のバージョンを確認 (HTTP/2 で接続)
curl -I --http2 https://example.com/
# HTTP/3 対応の curl なら
curl -I --http3 https://example.com/
# 開発者ツールの Network タブで Protocol 列を表示すると
# h2 = HTTP/2
# h3 = HTTP/3
# http/1.1 = HTTP/1.1
# のように各リソースのプロトコルが分かる
各プロトコルの詳しい仕組み・実装例は、下記の子記事で個別に解説しています。
主な用途
- 高速な Web ページ配信: HTTP/2・HTTP/3 により、多数のリソースを並行取得してページ表示を速くする。
- リアルタイム通知・チャット: WebSocket でサーバからの push を実現する。
- マイクロサービス間通信: gRPC でサービス同士を低オーバーヘッドに連携させる。
- ビデオ会議・通話・画面共有: WebRTC でブラウザ間の低遅延メディア通信を行う。
各プロトコルの比較
| プロトコル | 土台 | 通信の方向 | 主な用途 | 詳細 |
|---|---|---|---|---|
| HTTP/2 | TCP | 要求-応答 (多重化) | 高速な Web 配信 | HTTP/2 |
| HTTP/3 (QUIC) | UDP (QUIC) | 要求-応答 (多重化) | 低遅延・接続維持 | HTTP/3(QUIC) |
| WebSocket | TCP (HTTP からアップグレード) | 全二重 | リアルタイム通知・チャット | WebSocket |
| gRPC | HTTP/2 | 要求-応答 / 双方向ストリーム | マイクロサービス連携 | gRPC |
| WebRTC | UDP (P2P) | 双方向 (P2P) | 音声・映像・データ通信 | WebRTC |
注意点
- 下位互換とフォールバック: HTTP/2・HTTP/3 は対応していない相手とは自動的に HTTP/1.1 へフォールバックする。すべての通信が必ず新バージョンになるわけではない。
- TLS が事実上必須: ブラウザ実装では HTTP/2・HTTP/3 は HTTPS (TLS) 前提で使われる。平文での利用は現実的でない。
- 用途の取り違え: 「リアルタイムだから WebSocket」「速いから gRPC」と短絡せず、要求-応答で十分なら通常の HTTP/2 で足りることも多い。
- インフラ対応: UDP ベースの HTTP/3 は途中のファイアウォールやロードバランサが未対応なことがあり、導入には経路全体の確認が要る。
関連リンク
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?