HTTP/2 は、インターネット上のクライアントとサーバーのやり取りの速度とセキュリティを向上させることを目的とした、 HTTP標準のメジャーアップグレードです。 HTTP/2 では、下位互換性を維持しながらいくつかの新機能が追加されているため、HTTP/2 をサポートしていないブラウザーやサーバーでも引き続き正常に動作し、サポートしているブラウザーやサーバーでもパフォーマンスの向上を活用できます。

速度の改善

HTTP/2 の改善の主な焦点は速度です。 HTTP/1 の主な制限は、特定の接続で一度に許可されるリソース要求が 1 つだけであることです。 数十の画像、スクリプト、スタイルシートで構成された Web ページ (ほとんどがそうである) の読み込み時間を最小限に抑えるために、ブラウザーは通常、サイトに対して複数の HTTP/1 接続を一度に開き、リソースを並行して要求できるようにします。そのため、接続ごとにかなりのオーバーヘッドが必要になります。 HTTP/2 は多重接続を使用して単一の接続で複数のリソースを送信し、クライアントと Web サーバー間の接続数を大幅に削減します

HTTP/2 では圧縮も広範に利用されており、帯域幅を節約することでパフォーマンスが向上します。 HTTP/2 では、ヘッダーは人間が読めるプレーンテキストではなく、圧縮されたバイナリとして送信されます。 大幅な帯域幅の節約により、CPU 負荷のわずかな増加 (ヘッダーの圧縮と解凍) と、ヘッダーを読み取ることができない人間のユーザーへの不便さ (たとえば、デバッグ目的) が相殺されます。

HTTP/2 では、ページ読み込みのユーザー エクスペリエンスを向上させるために、リソースの優先順位付けも導入されています。 Web ブラウザやその他のクライアントは、リソースを受信する順序を指定できるようになりました。 HTTP/2 を適切にサポートするブラウザは、ユーザーが最初に確認する必要のあるリソースを優先することで、ページを大幅に高速にレンダリングできます。 HTTP/2 パフォーマンスの初期テストでは、一部のページの読み込み速度がほぼ 2 倍になることが示されました。

セキュリティの改善

HTTP/2 では HTTP のセキュリティ要件は明示的に変更されていませんが、HTTP/2 を使用するほぼすべてのブラウザでは、Web サイトでSSL/TLS を有効にする必要があるため、事実上必須となります。 HTTP/2 ではクライアントごとに単一の多重接続が使用されるため、Web サイトのセキュリティ保護にかかるコストが大幅に削減されます。 ブラウザによって開かれる多数の接続ごとに SSL/TLS ハンドシェイク (クライアントとサーバーが ID を確認し、暗号化キーを交換する) を実行する代わりに、クライアント セッションの全期間をカバーするために 1 回だけ実行されます。

NGINX Plus はどのように役立ちますか?

NGINX プラス

HTTP/2 と TLS により、サイトのパフォーマンスが向上し、サイトとのやり取りが安全であることをユーザーに知らせることができるようになります。 HTTP/2 を最初に実装する場合でも、競合他社に追いつく場合でも、このカンファレンスの講演で HTTP/2 の機能、利点、欠点について詳しく説明します。