HTTP/2が2015年2月にインターネット標準として公開されてから、2年以上が経過した。Webブラウザーの対応も一巡し、そろそろ導入を検討しようという企業や団体も増えているだろう。

複数のやり取りを並列に処理

 HTTP/2の最大の特徴は応答性が向上する点だ(図1)。HTTPでは、基本的にクライアントが発行する「リクエスト」に対し、サーバーが「レスポンス」を返す。HTTP/1.1までは基本的に、一つのリクエストに対するレスポンスが完了するまで、次のリクエストを送ることができなかった。HTTP/2ではレスポンスを待たずに、リクエストを送信できる。こうして全体的な効率向上を図るというのが基本的な考え方だ。このほか、ヘッダーとして送信するデータ量を削減する「ヘッダー圧縮」や、Webブラウザーがリクエストする前にサーバーから事前に送りつける「サーバープッシュ」といった技術が盛り込まれている。

図1●HTTP/2の基本コンセプト
図1●HTTP/2の基本コンセプト
基本はHTTP/1(HTTP/1.0、HTTP/1.1)にあるオーバーヘッドを取り除いて高速化する。具体的には、前の処理の完了を待たずに次の処理を始める(上)。このため、一つのコネクションで複数のHTTPリクエスト-レスポンスをさばく。HTTP/1では、一度に1組のHTTPリクエストとHTTPレスポンスしか送受信できない(下)。前の送受信が完了してから、次のリクエスト-レスポンスを処理する。HTTP/1.1でコネクション自体は再利用するが、前の処理の完了を待つ点は同じだ。
[画像のクリックで拡大表示]

 HTTP/2が登場してきた背景には、Webページの複雑化がある。IETFのHTTPワーキンググループのチェアマンを務めるマーク・ノッティンガム氏は、「2015年7月の時点で1ページ当たりの平均データ量は2年前と比べて2倍以上の1.5Mバイトに増え、リクエストの数も1.5倍近い100~110に増えた」と指摘。こうした状況に対応するため考案されたのが、HTTP/2であるという。

▼HTTP/2
HTTPはHyperText Transfer Protocolの略。HTTPでは歴史的に、バージョン番号をスラッシュ(/)の後につなげて記述する。
▼対応も一巡し
モジラ財団の「Firefox」、グーグルの「Chrome」、マイクロソフトの「Internet Explorer」および「Edge」、アップルの「Safari」のそれぞれ最新版は、HTTP/2に対応している。ただしOSのバージョンによって動作が異なり、HTTP/2が使えないものもある。
▼IETF
Internet Engineering Task Forceの略。インターネット技術の標準化団体。