HTTP/1.1・HTTP/2・HTTP/3 の違い
http/1.1 → HTTP/1.1 h2 → HTTP/2 h3 → HTTP/3 プロトコルはリクエストごとに異なる場合があります。
パイプライニングは仕様上存在しますが、実運用ではほぼ使われていません HTTP/2とは HTTP/2はHTTP/1.1の課題(通信効率)を改善するために登場しました, HTTP/2との関係 HTTP/3はHTTP/2に似た設計を持ちますが、完全な後継というより、トランスポート層を置き換えた進化版です, ・ HTTP/1.1・HTTP/2・HTTP/3 の違いのまとめ HTTPはWeb通信で使われるプロトコルであり、バージョンごとに性能や仕組みが進化しています, 特徴 バイナリプロトコル(高速処理) 1つのTCP接続で複数リクエストを並列処理(多重化) ヘッダ圧縮(HPACK) ストリーム単位での優先度制御 多重化(Multiplexing) 1つのTCP接続上で複数リクエストを同時に処理できます, →HTTP/1.1の接続を増やして対応が不要に近づく ヘッダ圧縮(HPACK) HTTPヘッダの冗長性を削減し、通信量を削減します,。
特徴 テキストベース(可読性が高い) 1リクエストごとに処理(基本は逐次処理) Keep-AliveによりTCP接続を再利用可能 ポイント HTTP/1.1では、1つのTCP接続で効率よく複数リクエストを処理する仕組みが弱いため、ブラウザ側で複数TCP接続を張ります(※), 項目HTTP/2HTTP/3 トランスポート TCP QUIC(UDP) 多重化 HTTP層 QUIC層 ヘッダ圧縮 HPACK QPACK ブラウザでのアクセスがどのHTTPのバージョンか確認する 1.対象サイトを開く 2.F12 で 開発者ツール を開く 3.「Network(ネットワーク)」タブをクリック 4.ページをリロードして通信をキャプチャ 5.リクエスト一覧のヘッダー行を右クリック → Protocol(プロトコル)列を表示 6.各リクエストのプロトコル列に以下のように表示されます, 特徴 QUIC(UDPベースのトランスポート)上で動作 TCPを使用しない 接続確立が高速(TLS統合) パケットロスに強い QUICとは QUICはUDPをベースとした新しいトランスポートプロトコルで、ストリーム多重化、暗号化(TLS1.3統合)、低遅延接続を提供します, TCPレベルのヘッドオブラインブロッキング HTTP/2は1本のTCP接続に依存するため、パケットロスが発生するとその接続上のすべてのストリームに影響が出るという性質があります, (※)ドメインシャーディング・・・静的リソースを複数のサブドメインに分散し、ブラウザの同時接続数制限を回避して通信を高速化する手法, 実務上のメリット ①ヘッドオブラインブロッキングの改善 HTTP/2(TCP)では、1つのパケットロスで全体に影響しますが、HTTP/3(QUIC)では、ストリーム単位で独立しているので他の通信への影響を抑制できます, HTTP/3はUDP通信ではなくQUIC上で動くHTTPと理解するのが正確です, 項目HTTP/1.1HTTP/2HTTP/3 通信方式 テキスト バイナリ バイナリ トランスポート TCP TCP QUIC(UDP) 暗号化(HTTPS) 任意(HTTPも可) ほぼ必須(実質HTTPS) 必須(常に暗号化) TLSバージョン TLS1.0〜1.3(環境依存) 主にTLS1.2以上 TLS1.3のみ(QUICに統合) ハンドシェイク TCP + TLS(2段階) TCP + TLS(2段階) QUICで統合(高速かつ安全) 多重化 なし あり あり(QUIC側) ヘッダ圧縮 なし HPACK QPACK 遅延耐性 弱い 中 強い HTTP/1.1:従来方式(シンプルだが効率は低い) HTTP/2:高速化(多重化・圧縮) HTTP/3:低遅延・高耐障害(QUIC) HTTP/1.1とは HTTP/1.1は長年使われてきた標準的なHTTPです, ②接続確立が高速 TCP+TLSの2段階が不要で、初回接続が高速(0-RTT/1-RTT)です, preload 103EarlyHints HTTP/3とは HTTP/3はHTTP/2の問題を解決するために設計された新しいバージョンです, 関連の記事 「HTTPリクエスト」と「HTTPレスポンス」とは , ③モバイル・不安定回線に強い パケットロスに強く、IP変更(Wi-Fi→LTE)にも耐性があります, 同じページでも上記が混在することがあります。
サーバプッシュについて HTTP/2にはサーバプッシュという機能がありますが、実運用では扱いが難しく現在のブラウザでは重要度が低下しているため、現在は以下が主流です。
评论列表