ニュース
「HTTP/2」制定の背景や「HTTP/1」との違い、Akamaiのマーク・ノッティンガム氏が説明
(2015/7/7 06:00)
HTTPの最新バージョンである「HTTP/2」は、IETFのhttpbisワーキンググループで制定され、2015年2月に正式な仕様として承認された。このhttpbisワーキンググループのチェアマンであるAkamai Tehcnologiesのマーク・ノッティンガム氏が来日し、報道関係者向けに説明会を開いた。
まずHTTP/2が必要とされた背景として、ノッティンガム氏は、インターネット上のトラフィックの増加や、遅延が損失に直結するようになったこと、今では大きな割合を占めるモバイル通信では遅延が大きくなることを挙げた。
一方、ウェブで1つのページを読み込むには、画像やCSS、JavaScriptなど複数のファイルを読み込む必要がある。そのため、現在ではウェブ製作者は、リクエスト数を減らそうと努力。複数の画像を1枚にまとめて必要な部分だけ表示するCSSスプライトや、画像データを符号化してCSS内に記述するインラインイメージ、JavaScriptやCSSの複数のファイルを1つにまとめる結合などの工夫(ハック)がなされているという。
「HTTPリクエストはなぜそんなにコストが高いのか」としてノッティンガム氏は、「HTTP/1のTCPの使い方がよくない」と「HTTPヘッダーが饒舌」という2つの理由を挙げた。
TCPの問題というのは、HTTPのリクエストとレスポンスごとに1つのTCPコネクションを使うことを指す。これにより、1つずつしかリクエストを処理できず、レスポンスの待ちが発生するという。HTTPパイプラインを使っても順次処理されるため、大きな画像などがあるとそれ以降は待たされる。
また、HTTPヘッダーの問題としては、複数のリクエストを連続して送る時に、リクエストヘッダーの多くの部分が共通していることがある。ノッティンガム氏はetsy.comへのリクエストを例に、1つのページで4つのリクエストが発生し、合計2,596バイトのうち1,797バイトが冗長なものだったと説明した。特にTCPのウィンドウサイズが小さい時などは、データが大きいとTCPレベルの往復が複数回になり、遅延の大きい回線ではより時間がかかる。
こうした問題を解決するために、HTTP/2が作られた。ベースとなったのはGoogleのSPDYで、現在は35以上の企業や実装が対応しているという。
目標は「1つのTCPコネクションで」やりとりすること。そのための技術要素として、「フレームからHTTPセマンティクスを分離」「ヘッダーの圧縮」「サーバープッシュ」の3つをノッティンガム氏は挙げた。
HTTP/2では、「フレーム」という単位が使われ、1つのセッションの中で接続設定やHTTPヘッダー、データ本体、接続終了など、複数のフレームがやりとりされる。各フレームにはIDが付けられ、これによってリクエストとレスポンスが対応付けられるため、リクエストとレスポンスを多重化できるという。
また、HTTP/2では、HPACKによりヘッダーサイズを圧縮する。HPACKは、前に送ったヘッダーを後のリクエストから参照することで、ほとんど差分だけ送ればいいようにする。
サーバープッシュは、リクエストなしにサーバーからクライアントにデータを送るものだ。これにより、例えばHTMLファイルのリクエストが来た時に、次はそこから読み込まれるCSSファイルのリクエストがあるものと想定して、CSSファイルも送ってしまって全体の応答時間を短縮するといった使い方ができるという。
HTTP/2の影響は、まず高速化できることだ。ノッティンガム氏は、「速くなるのを保証するものではない。レアケースではパフォーマンスが落ちることもある」と前置きしながら、GoogleやTwitterで高速化したデータを紹介。さらに、Wikipediaのページをロードした時の処理の様子をHTTP/1とHTTP/2で比較し、HTTP/1で発生していた待ちがHTTP/2では解消されることを示した。
また、HTTP/2ではTLS(HTTPS)が事実上必須となる。仕様ではTLSを使わない場合のことも記述されているが、ブラウザーの実装ではいずれもHTTP/2にTLSを必要としているという。「仕様を決めたのはスノーデン事件より前だったが、最近は常時HTTPSの動きもあり、いま仕様を決めると違う結論になるかもしれない」とノッティンガム氏は説明した。
ウェブ開発者にとっては、やりとりがテキストからバイナリーに変わることで、デバッグ方法が変わるという変化もある。これについては、いくつかのツールが出てきていることをノッティンガム氏は紹介した。
IETFでのこれからの取り組みとしては、現在策定中という「Alternative Services」が紹介された。HTTP/2ではコネクションの寿命が長くなることから、ロードバランスやフェイルオーバーの考え方が変わるとノッティンガム氏は語る。Alternative Servicesは、サーバーからクライアントに代替のアクセス先を通知し、クライアントが望めば新しいアクセス先に移る仕様。これによって、ロードバランスやフェイルオーバーがシームレスに行なえるとノッティンガム氏は説明した。
また、現在のTCPの制限を超えるため、Googleの「QUIC」をはじめとする新しいトランスポート層のプロトコルが議論されているという。「数週間後にプラハでIETFの会議があり、そこでも議論されるだろう」とノッティンガム氏は説明した。
なお、HTTP/2が実際に使われる時期についてノッティンガム氏は、ウェブサーバー側がまだ実装中のものが多いとし、OSのディストリビューションに入るのはさらに先になるだろうとしながら、クライアント側はすでに対応しているためトラフィックのある程度の割合はHTTP/2が使われていると語った。
URL
- Akamai Tehcnologies
- http://www.akamai.co.jp/enja/
最新ニュース
- ネットギアの2.4/5GHz対応モバイルルーター「AirCard AC785」はクレードルも強烈、ただし国内発売は未定[2015/07/07]
- 「HTTP/2」制定の背景や「HTTP/1」との違い、Akamaiのマーク・ノッティンガム氏が説明[2015/07/07]
- NTT東西、IP電話乗っ取り被害への対策を発表、今後はNTT側の判断で発信規制も実施[2015/07/06]
- ネットギア、電池駆動&Wi-Fi&防塵防滴の完全無線なネットワークカメラ、電池は最長6カ月持続[2015/07/06]
- 「楽天市場」がコンビニ受け取り対応へ、全国2万店で、ヤマトと連携強化[2015/07/06]
- 凸版印刷、紙と電子のハイブリッド出版に対応した書籍制作支援クラウドサービス「TOPPAN Editorial Navi」[2015/07/06]
- クラウド給与計算ソフトfreee、「CLOUZA」「KING OF TIME」からの勤怠データ取り込みに対応[2015/07/06]
- 「ミツウロコ光」提供開始へ、エキサイトによる「光コラボ」参入支援サービス第1弾[2015/07/06]
- 「食べログ」のカカクコム、Rettyの“東京エリア口コミ数No.1”に「異なる基準で算出した」と反論[2015/07/06]
- 「明治日本の産業革命遺産」のストリートビュー公開、松下村塾の屋根裏部屋までも[2015/07/06]
- INTERNET Watchアクセスランキング[2015/6/29〜2015/7/5][2015/07/06]
- 実名グルメサイト「Retty」のMAUが1000万人を突破、飲食店DBのオープン化や2020年に向けた取り組みなど[2015/07/03]
- 標的型攻撃や内部不正などの現状まとめ、「情報セキュリティ白書2015」発刊[2015/07/03]
- バンダイナムコのIP開放プロジェクト、個人クリエイターによるアプリ開発などが可能に[2015/07/03]
- 「青空文庫」収録作品のプリントオンデマンド本、ジュンク堂書店池袋本店で販売開始[2015/07/03]
- 江戸期以前の“くずし字”、精度80%以上でOCR処理、凸版印刷が技術開発[2015/07/03]
- ベネッセ、小・中・高校生向けの電子図書館サービス「まなびライブラリー」提供[2015/07/03]
- 7月29日リリースのWindows 10はまず「Windows Insider」参加者に提供、その後、段階的に配信規模を拡大[2015/07/03]
- 東洋経済やフランス書院の電子書籍をブラウザーで閲覧、シャープ「EBLIEVA」採用サイト拡大[2015/07/03]
- 富士通の電子書籍サービス「BooksV」が9月29日で終了、購入累計額を外部ストア用ポイントで返還[2015/07/02]
この記事に対するFacebookコメント