HTTP/2 は、2015 年に標準化された HTTP プロトコルの第 2 版です。1997 年に策定された HTTP/1.1 の性能上の制約を解消するために設計され、Web ページの表示速度を大幅に向上させます。
HTTP/1.1 の最大の問題は、1 つの TCP 接続で同時に 1 つのリクエストしか処理できない点でした。ブラウザは並列にリソースを取得するために複数の TCP 接続を開きますが、接続数には上限 (通常 6 本) があり、多数のリソースを持つページでは待ち時間が発生します。HTTP/2 はこの問題を多重化 (Multiplexing) で解決し、1 つの TCP 接続で複数のリクエスト/レスポンスを同時に処理できます。
HTTP/2 の主要な改善点は 3 つあります。第一に多重化 (1 接続で複数リクエストを並列処理)、第二にヘッダー圧縮 (HPACK アルゴリズムで HTTP ヘッダーのサイズを削減)、第三にサーバープッシュ (クライアントがリクエストする前にリソースを先行送信) です。
短縮 URL のリダイレクト処理において HTTP/2 は重要です。HTTP/2 の多重化により、リダイレクト後のページ読み込みが高速化されます。また、ヘッダー圧縮によりリダイレクトレスポンス自体のサイズも削減されます。W3Techs の調査によると、2024 年時点で全 Web サイトの約 35% が HTTP/2 を使用しています。
HTTP/2 の利用には HTTPS が事実上必須です。仕様上は HTTP でも動作しますが、主要なブラウザは HTTPS 接続でのみ HTTP/2 をサポートしています。そのため、HTTP/2 の導入は SSL/TLS 証明書の設定とセットで行う必要があります。2022 年には後継の HTTP/3 (QUIC ベース) も標準化され、さらなる高速化が進んでいます。関連書籍は Amazon でも探せます。