5-3

ネットワーク

1HTTP/2 プロトコルの動向
林 達也、前田 薫●株式会社レピダム

2

HTTP 通信の効率化を目指す、HTTP/2 の仕様策定が最終段階へ。実装の普及が進み、Web からのインターネット構造全体の変革につながる

3■ SPDY か ら 始 ま っ た HTTP 再 編 はHTTP/2 へと昇華

42014 年 12 月 31 日、日本時間の 2015 年 1 月 1 日

ブラウザー実装もかなり進んでいる状況にある。
原稿執筆時点では多くのケースではまだ SPDY が主だが、今後 HTTP/2 に置き換わるだろう。に、晴れて HTTP/2 の Internet Draft が IESG Last

またサービス側でも、グーグルの一部のサービCall という最終段階のステータスになった。今後

スや Twitter をはじめとした多くのサービスで実も細かな修正はあると思われるが、これで現行の仕際に展開されており、インターネット標準として様による HTTP/2 の RFC 化はほぼ確定したと言っは非常に速い速度で現実世界への普及が行われてていいだろう。

いる。

6HTTP/2 は、グーグルの SPDY というプロトコ
ルをベースに、インターネット標準として有識者の知見を反映して作成された次世代の HTTP だ。

5■ HTTP/1.1 のセマンティクスを維持、トランスポートを改善する HTTP/2
HTTP/2 の 仕 様 検 討 は 2012 年 8 月 に SPDY/3
1■仕様策定が最終段階。ブラウザー実装
も普及から派生する形で開始された 。HTTP/2 では、SPDY というベースとなるプロトコルがあった

理された）のうち、メッセージ形式とトランスポーとはいえ、HTTP/2 としての標準化への道のりにトの部分のみを変更し、そのほかの部分はそのままおいてはさまざまな仕様の変化があった。とする。特にメソッド、ステータスコード、URI、HTTP/1.1 の仕様（RFC7230〜RFC7235 として整SPDY、そして HTTP/2 の普及に関しては、グー

ヘッダーフィールドの意味は HTTP/1.1 のまま保グルはもちろんのこと、モジラやマイクロソフト

たれる。資料 5-3-１に HTTP/2 プロトコルスタッなどのブラウザーベンダーの強い推進体制もあり、クの概要を示す。

第 5 部 製品・技術動向

241

1

資料 5-3-1

HTTP/2 プロトコルスタックの概要

2345

出典：筆者作成と HTTP/2 のどちらを使うかを選択するために、■バイナリーフレーム通信で複数リクエストを多重化

TLS の拡張機能である ALPN（Application Layer

HTTP/1.1 では単一の TCP 接続において、あるクライアントとサーバーの間で、HTTP/1.1

62

Protocol Negotiation）が定義された 。
HTTP/2 では、HTTP/1.1 に対して以下の点を改善する。

時点で送信されるリクエストまたはレスポンスはひとつであった。HTTP/1.1 にもパイプライン通信の仕様はあるが、特定のリソースが大きい場合、後続のリソースは先行するデータ転送が完了する

・単一の TCP 接続で複数のリクエストとレスポンまで待たされる。これを回避するため、複数のリスを並行して送信

ソースを並行して読み込む場合、ブラウザーは複・ヘッダー圧縮数の TCP 接続を生成していた（資料 5-3-2 上）。こ・サーバーからクライアント方向へのデータ送信

れに対し、HTTP/2 ではリクエストとレスポンス（サーバープッシュ）が可能の組をストリームという単位として処理し、さらにストリームを複数のフレームに分解して TCP 接

これらの機能により、ブラウザーでの Web ペー

続を介して送受信する。これにより、リソースのジロード時間を短縮することができる。また交信開大きさに影響を受けずに並行してリソース取得が始に必要な TCP および TLS ハンドシェイクのオー行えるようになった（資料 5-3-2 下）。

バーヘッドを減らすことができる。

242

第 5 部 製品・技術動向

資料 5-3-2

HTTP/2 では並行してリソースを取得

1

2

3

4

5

出典：筆者作成

され、先頭にフレームの長さを持つ。フレームは■サーバープッシュによるサーバーからのデータ送信

HEADERS、DATA、SETTINGS などのタイプがあHTTP/2 ではサーバー側からもストリームを開り、リクエストとレスポンスの転送の他、ストリー始することができる。クライアントが次にリクエム単位または接続全体の状態制御を行う。

ストするであろうリソースを、サーバーから先に送フレームはバイナリーフォーマットとして定義

HTTP ヘッダーは HEADERS フレーム内のキー信してしまうことができる。これをサーバープッ／バリューペアの構造として送信される。HTTP/シュと呼ぶ。クライアントがサーバープッシュに

2 ではこの構造を直接バイナリー化することで、文よって受信したコンテンツをキャッシュに格納す字列処理によるヘッダー解析のオーバーヘッドをることにより、リソースが必要になった時点です

3低減している。また、HPACK という圧縮形式 をでに手元にデータが届いているというプッシュ動採用し、リクエスト間で共通のヘッダーを少ない作を実現できる。

通信量で送信できる。

サーバープッシュの有効活用には、サーバーとリクエストとレスポンスの body 部を送信するたクライアントが協調動作をすることが必要である。

めに DATA フレームが使われる。DATA フレーム

実際の Web ブラウジングの局面での活用はまだこの送信では優先度制御とフローコントロールをサれからの課題である。

ポートする。これらの機能によって、JavaScript一方、サーバープッシュを用いたイベント通知のや CSS など、描画開始に必要な情報を先に取得し、実装は有望である。現在ロングポーリングによっ画像などの大きなコンテンツは後から取得するとて行われている非同期的なサーバーからクライアいう制御を行え、ユーザー体験を向上することがントへの通知は、サーバープッシュで自然に置きできる。

かえることが可能である。IETF の webpush ワー

第 5 部 製品・技術動向

2436

1時点）を資料 5-3-3 に示す。現在多くのブラウキンググループで検討されている。

ザーと Internet Giant と呼ばれるサービスで SPDY

2

■ブラウザー実装は進むもサービス側の対応が鍵。国内大手サイトは慎重な対応

ま た は HTTP/2 が サ ポ ー ト さ れ て い る 。な お 、

主要なブラウザー、サーバーソフトウェア、

ェアの 75% 以上が SPDY または HTTP/2 に対応済

大手サービスの SPDY と HTTP/2 対応状況（執筆
資料 5-3-33

caniuse.com の調査によれば現在のブラウザーシであるとのことだ。

主要なブラウザー、サーバーソフトウェア、大手サービスの SPDY・HTTP/2 対応状況（2015 年 1 月
7 日時点）

4

5

6

出典：Wikipedia SPDY, HTTP/2 および「Implementations

http2/http2-spec Wiki」

4をもとに筆者作成

国内に目を向けると、大手サービスで SPDY や進めば HTTP よりも HTTPS の割合が高い状況がHTTP/2 を採用しているところはほとんど見つけ出現してもおかしくない。HTTP/2 には平文の通られない。プロトコルが策定段階であるため慎重信も用意されているが、ブラウザーによる対応のになっていると考えられる。今後、HTTP/2 が RFC足並みが揃っているとはいえず、その他の周囲の化されると、それを契機に HTTP/2 が一気に普及

状況も踏まえると急速な HTTPS 化が進むことはする可能性があるだろう。

大いに考えられるだろう。

HTTP/2 と TLS（End to End 暗号化）の組み合■ネットワーク構造に与える影響

わせによる影響は地味に大きい。サービス開発者

HTTP/2 と関連して起きる変化として、TLS 通信や利用者には影響は少ないように極力配慮されての重要性が急速に高まった点が挙げられる。SPDYいるものの、例えば透過型プロキシーで実現されでは TLS が必須だったことや、いわゆる PRISM/ていたウィルスチェック等のエンタープライズ分

5スノーデン事件 等、理由はいくつかあるが、現野での通信解析や、CDN によるコンテンツ配信、

在の Web/HTTP の世界では急速に HTTPS による効率的なキャッシュや、フィルタリングサービス通信が高く望まれるようになっており、このまま等も、HTTP/2 の効率化や暗号化の影響を受ける

244

第 5 部 製品・技術動向

可能性が高い。

SPDY が HTTP/2 へ の 契 機 に な っ た よ う に 、

1

QUIC が新しいトランスポート層のプロトコルの■今後の展望：Web から変わるインターネット

革新の契機になる可能性は高いと思われる。現在、HTTP/2 は、HTTP/1.1 とは大きく異なる、現代取り組みが始まった。これは、まず UDP ポート 35的で多機能、そして複雑なプロトコルとなった。

を使って新しいトランスポート層のプロトコルを今後は、HTTP/2 が必要な規模のサービスからゆっ検討するという取り組みとなっている。

IETF では「IP Stack Evolution Program」という

くりと、だが確実に普及が進んでいくと思ってい今までのインターネットは TCP/IP というインいだろう。また、新規のサービスでも初期からのターネット成立時の仕組みを中心にして構築され採用が進むのは間違いない。ており、Web もその枠組みの中にいた。しかし、さらに新しい取り組みも始まっている。グー

HTTP/2、そして QUIC への流れは、Web の要望

グルは現在 TCP ではなく UDP ベースのトランスにインターネットが合わせるという今までにないポート層の通信プロトコル「QUIC」を開発してい変化が生じている。

る。QUIC は、TCP による SPDY&HTTP/2 では解HTTP/2 を契機に、Web を中心としたプロトコ

決できなかった問題を解決することを目的としてルがインターネットを変革するようなところまでおり、すでに実際のサービスでの展開や Chrome来たことは、新しい時代の始まりだと言っていい（Chromium）ブラウザーへの実装など進めている。

だろう。

23456
1. 当時は HTTP/2.0 として検討が始まったが、後に HTTP/2 と呼称が改められた。
2.TLS を使わない場合の手法も用意されている。
3.CRIME 攻撃（http://en.wikipedia.org/wiki/CRIME）に耐性があるように設計された。
4.https://github.com/http2/http2-spec/wiki/Implementations
5. アメリカ合衆国の国家安全保障局（NSA）による監視プログラム「PRISM」を、かつて NSA や CIA に勤務していたエドワード・スノーデンが 2013 年に暴露した事件。

第 5 部 製品・技術動向245