ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
概要
HTTP/2 は、Web のやり取りに使われる HTTP の性能を大きく改善した第 2 世代のバージョンです (2015 年に RFC 7540 として標準化、現在は RFC 9113)。メソッド (GET/POST など) やステータスコード、ヘッダといった HTTP の「意味」はそのままに、データをネットワーク上でどう運ぶかという「伝送方式」を全面的に作り替えた点が特徴です。アプリケーションから見れば同じ HTTP ですが、内部では大幅に高速化されています。親セクションは Web通信プロトコル です。
仕組み
HTTP/2 の高速化を支える要素は主に 3 つです。
- バイナリフレーミング: HTTP/1.1 はテキストで 1 行ずつ送っていましたが、HTTP/2 は通信を「フレーム」という小さなバイナリ単位に分割します。ヘッダ用 (HEADERS フレーム) と本文用 (DATA フレーム) などに分かれ、機械処理しやすくなります。
- ストリームによる多重化: 複数のリクエスト/レスポンスを「ストリーム」という論理的な通信路に割り当て、1 本の TCP 接続の上で並行してやり取りします。これにより HTTP/1.1 のアプリケーション層ヘッドオブラインブロッキング (前の応答待ちで後続が詰まる問題) が解消されます。
- ヘッダ圧縮 (HPACK): Cookie や User-Agent のように毎回似たヘッダが送られるため、HPACK という方式で差分・辞書圧縮を行い、転送量を削減します。
さらに サーバプッシュ という、クライアントが要求する前にサーバが関連リソース (CSS や JS など) を先回りで送る仕組みもありました。ただし実運用での効果が限定的で、主要ブラウザは対応を削除しており、現在は使わない方向です。
実用例
サーバが HTTP/2 で応答しているかは curl で確認できます。レスポンス先頭が HTTP/2 200 のようになっていれば HTTP/2 です。
# HTTP/2 でリクエストしてヘッダを確認
curl -I --http2 https://example.com/
# 出力例:
# HTTP/2 200
# content-type: text/html
# Nginx で HTTP/2 を有効化する設定例 (listen に http2 を付ける)
# server {
# listen 443 ssl;
# http2 on; # 新しい書き方
# server_name example.com;
# ssl_certificate /etc/ssl/example.crt;
# ssl_certificate_key /etc/ssl/example.key;
# }
# どのプロトコルで接続したか詳細を見る (-v で ALPN: h2 を確認)
curl -v --http2 https://example.com/ 2>&1 | grep -i 'ALPN\|HTTP/2'
ブラウザでは開発者ツールの Network タブの Protocol 列に h2 と表示されれば HTTP/2 で通信しています。
主な用途
- 多リソースなページの高速化: 画像・CSS・JS を多数読み込むページで、多重化により読み込みを速くする。
- API の高スループット化: 1 接続で多数のリクエストを並行処理し、接続確立コストを抑える。
- gRPC の土台: gRPC は HTTP/2 の多重化・双方向ストリームを前提に設計されている。
- モバイル環境の改善: ヘッダ圧縮と多重化で、遅延の大きい回線でも体感速度を上げる。
HTTP/1.1 との比較
| 項目 | HTTP/1.1 | HTTP/2 |
|---|---|---|
| 伝送形式 | テキスト | バイナリ (フレーム) |
| 多重化 | 不可 (接続を複数張る) | 1 接続で多重化 (ストリーム) |
| ヘッダ圧縮 | なし | あり (HPACK) |
| サーバプッシュ | なし | あり (現在は非推奨) |
| トランスポート | TCP | TCP |
| TLS | 任意 | ブラウザでは事実上必須 |
注意点
- TCP レベルの HOL ブロッキングは残る: HTTP/2 はアプリ層の詰まりは解消するが、土台の TCP でパケットロスが起きると全ストリームが待たされる。これを解決するのが HTTP/3(QUIC)。
- ドメインシャーディングは逆効果: HTTP/1.1 時代の最適化 (リソースを複数ドメインに分散) は、1 接続多重化が効く HTTP/2 ではむしろ非効率になる。
- サーバプッシュは使わない: 効果が限定的で主要ブラウザが廃止済み。先読みは
rel="preload"など別手段を使う。 - TLS 必須の実態: 規格上は平文 (h2c) も定義されるが、ブラウザは TLS 経由でしか HTTP/2 を使わない。証明書の準備が前提。
関連リンク
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
- HTTP/2
- HTTP/3(QUIC)
- WebSocket
- gRPC
- WebRTC
人気ページ
- 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
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 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
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?