HTTP2

HTTP/2(ハイパーテキスト転送プロトコル第2版、最初はHTTP 2.0と命名された)、略称はh2(TLS/1.2以上の暗号化接続に基づく)またはh2c(非暗号化接続)。HTTP/2 は HTTP プロトコルの2番目のメジャーバージョンであり、Webサーバーとクライアント間でデータを転送するために使用されます。

HTTP/2 は、1999年にHTTP 1.1の改良版RFCが公開されて以来、HTTPプロトコル初のアップデートであり、主にSPDYプロトコルに基づいています。

多くの主流ブラウザは2015年末までにこのプロトコルをサポートしました。

HTTP/2はネットワークプロトコルであり、HTTP/1.1のアップグレード版で、IETFによって2015年に公開されました。HTTP/2はWebパフォーマンスの向上、遅延の低減、セキュリティの向上を目的としており、Webアプリケーションをより高速で効率的かつ信頼性の高いものにします。


HTTP/2 の特徴

以下は、HTTP/2の特徴と改善点の一部です。

  • 多重化:HTTP/2は、HTTP/1.1のように一つずつしか処理できないのではなく、複数のリクエストとレスポンスを同時に送信できます。これにより、遅延を減らし、効率を向上させ、ネットワークスループットを高めることができます。

  • バイナリ転送:HTTP/2はバイナリプロトコルを使用します。これはHTTP/1.1で使用されるテキストプロトコルとは異なります。バイナリプロトコルはより高速に解析でき、より効率的にデータを転送できるため、転送プロセス中のオーバーヘッドと遅延を削減します。

  • ヘッダー圧縮:HTTP/2はHPACKアルゴリズムを使用してHTTPヘッダーを圧縮し、ヘッダー転送のデータ量を削減するため、ネットワーク遅延を低減します。

  • サーバープッシュ:HTTP/2はサーバープッシュをサポートしており、クライアントからのリクエスト前にサーバーがリソースをプッシュしてパフォーマンスを向上させることができます。

  • セキュリティの向上:HTTP/2はデフォルトでTLS(Transport Layer Security)を使用してデータを暗号化して転送し、セキュリティを向上させます。

  • HTTP/1.1との互換性:HTTP/2はHTTP/1.1と共存でき、サーバーはHTTP/1.1とHTTP/2の両方を同時にサポートできます。クライアントがHTTP/2をサポートしていない場合、サーバーはHTTP/1.1にフォールバックできます。

全体的に、HTTP/2はパフォーマンス、セキュリティ、可用性の面で大幅な改善があり、Webアプリケーションをより高速で効率的かつ信頼性の高いものにできます。

データ転送に多重化を採用し、複数のリクエストを同じTCP接続内にまとめます。下の図のとおりです。

HTTP/2はネットワーク遅延を減らし、ブラウザのページ読み込み速度を向上させます。

HTTP/2は、HTTP/1.1のようにテキスト形式を使用するのではなく、バイナリ形式を使用してデータを転送します。これにより効率が向上し、データ転送の遅延が低減されます。

HTTP/2はヘッダー圧縮を使用して転送データのサイズを削減します。これにより、ネットワーク帯域幅の使用量が減り、ページの読み込み速度が向上します。

HTTP/2では、サーバーがリクエストされなくてもクライアントにデータを積極的に送信できます。これにより、リクエストの遅延が減り、ページの読み込み速度が向上します。

その他の拡張