HTTP/2
HTTP/2は、インターネット上のクライアントとサーバー間の通信速度とセキュリティの向上を目的とした、HTTP標準の大幅なアップグレードです。HTTP/2では、後方互換性を維持しながら複数の新機能が追加されています。そのため、HTTP/2に対応していないブラウザーやサーバーも引き続き問題なく動作し、対応している場合はパフォーマンス向上のメリットを活用できます。
速度の向上
HTTP/2の改善では、速度の向上に重点が置かれています。HTTP/1の大きな制約は、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を有効にする必要があります。そのため、実質的には必須となっています。HTTP/2ではクライアントごとに多重化された単一の接続を使用するため、Webサイトを保護するコストが大幅に低下しました。ブラウザが確立する多数の接続ごとにSSL/TLSハンドシェイク(クライアントとサーバーが互いのIDを検証し、暗号鍵を交換する処理)を行う必要はなく、クライアントセッション全体を通じて1回行うだけで済みます。
NGINX Plusはどのように役立つのか
NGINX Plus
- NGINX Plusは、高パフォーマンスかつ高同時実行性が求められる環境向けに開発されました。HTTP/2を使用してサイトを高速化している場合、NGINX Plusによってパフォーマンスを最大限に引き出すことができます。
- 優れたユーザーエクスペリエンスを提供するうえで、速度の向上は一要素にすぎません。NGINX Plusは、包括的なモニタリング機能を提供し、HTTP/2のサポートがユーザーに与える影響を追跡できるようにします。
HTTP/2とTLSにより、サイトのパフォーマンスが向上し、ユーザーはサイトとの通信が保護されていることを確認できる可能性があります。HTTP/2をいち早く導入する場合も、競合他社に追いつくために導入する場合も、このカンファレンス講演でHTTP/2の機能、利点、欠点について詳しくご確認ください。

