HTTP/2は、HTTP標準のメジャー アップグレードであり、インターネット上のクライアント-サーバ間のやり取りを高速化してセキュリティを向上させることを目的としています。HTTP/2は、下位互換性を維持しながら新しい機能がいくつか追加されているため、HTTP/2に対応していないブラウザやサーバでも問題なく機能します。一方、HTTP/2に対応していれば、パフォーマンスの向上というメリットがあります。

速度の向上

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

またHTTP/2では圧縮も広く利用されていて、帯域幅が節約されることでパフォーマンスが向上します。HTTP/2では、人が判読できるプレーンテキスト形式ではなく圧縮バイナリ形式でヘッダーが送信されます。デメリットとして、ヘッダーの圧縮/解凍のためにCPU負荷が多少増加することと、例えばデバッグ目的でユーザーがヘッダーを読めず不便であることが挙げられますが、帯域幅を大幅に節約できるという十分なメリットがあります。

またHTTP/2では、リソースの優先順位を決めることができるため、ページ読み込みのユーザー エクスペリエンスが改善されます。Webブラウザなどのクライアントは現在、リソースを受信する順序を指定できるようになっています。HTTP/2対応ブラウザでは、ユーザーが最初に閲覧すべきリソースを優先することで、ページを非常に高速に表示できます。HTTP/2パフォーマンスの初期テストでは、読み込み速度が約2倍になったページもありました。

セキュリティの向上

HTTP/2では、HTTPのセキュリティ要件の明確な変更はありませんでしたが、HTTP/2を使用しているほぼすべてのブラウザが、WebサイトでSSL/TLSを有効にすることを求めるため、実質的にSSL/TLSが必須となっています。HTTP/2はクライアントごとに1つの多重接続を使用するため、Webサイトのセキュリティ コストが大幅に下がります。1つのブラウザでたくさんの接続を開き、それぞれにSSL/TLSハンドシェイク(クライアントとサーバが身元を確認して暗号化キーをやり取りすること)を行う必要はなく、1回のハンドシェイクでクライアント セッションの持続時間全体をカバーします。

NGINX Plusがお手伝いできること

NGINX Plus

  • NGINX Plusは導入のパフォーマンスと並行性を高めます。速度向上に向けてサイトを最適化するためにHTTP/2を使用する場合、NGINX Plusでパフォーマンスを最大化することができます。
  • 速度の向上は、優れたユーザー エクスペリエンスを提供するための一要素に過ぎません。NGINX Plusは包括的な監視機能を備えているため、HTTP/2への対応がユーザーにどのような影響を与えているかを追跡できます。

HTTP/2とTLSによってサイトのパフォーマンスが向上する可能性が高く、サイトとのやり取りが安全であることをユーザーに示すこともできます。HTTP/2を初めて実装する方も、競合他社に追い付きたいとお考えの方も、こちらの講演会のビデオをぜひご覧ください。HTTP/2の機能、メリット、デメリットについて詳しく説明しています。