Akamai Diversity
Home > Web Performance > HTTP/2への対応

HTTP/2への対応

先日HTTP/1.1の後継であるHTTP/2がRFC7540として公開されました。
  
HTTP/1.1から16年の時を経て公開されたHTTP/2には、これまでのWEBパフォーマンスの課題を解決する為の様々な機能が含まれています。今回はHTTP/2の新たな機能とAkamaiの対応状況についてご紹介します。

まずHTTP/2の機能に触れる前に、これまでのHTTPの変遷を簡単に振り返ってみます。

HTTPの変遷

HTTP2-graphic.png

  • 1991年 - HTTP/0.9
GETメソッドのみ。ヘッダもレスポンスコードの規定も存在しない簡素な仕様

  • 1996年 - HTTP/1.0
RFC1945として公開。ステータスコードを含むレスポンスヘッダが付加されるようになる。GET以外にPOSTメソッド等の新たなメソッドも追加される

  • 1999年 - HTTP/1.1
RFC2068として公開。Keep-Aliveやパイプライン化をサポート。1.0から大幅に機能が追加される

  • 2015年 - HTTP/2
RFC7540として公開。HTTP/1.1との互換性を保ちつつもWEBを効率化するための様々な機能をサポート


RFC7540の冒頭で、HTTP/2はHTTPの既存のセマンティクスを変更しないと明示しています。HTTP/2はこれまでのHTTP/1.1との互換性を保ちつつ、既存のHTTPセマンティクスに対してパフォーマンスを最適化する機能をサポートしています。

それでは、HTTP/2の主な機能をHTTP/1.1と比較しながら見ていきます。

  • Multiplexing
単一のTCP接続の中でストリームという論理単位によって並列処理が可能
→ HTTP/1.1では、一つのブラウザで複数のTCP接続を確立(4〜6接続)

  • Header Compression
HPAC(RFC7541)の方式で圧縮。差分のみ送信することによりオーバーヘッドを削減
→  HTTP/1.1では、毎回同じヘッダを送るため冗長

  • Binary framing
ヘッダーとデータをバイナリ形式で扱うことにより効率化
→  HTTP/1.1では、テキスト形式

  • Dependencies and Prioritization
リソースごとの優先処理による効率的な処理が可能
→  HTTP/1.1では、順番にリソースが処理される為、途中につまっているデータがあると次の処理に進まない

  • Server Push
クライアントからのリクエスト無しでサーバーからデータをプッシュ可能
→  HTTP/1.1でプッシュ通信するには、Websocketなどが必要


以上のように、HTTP/2にはHTTP/1.1時代の課題を克服する機能が含まれていることがわかります。

なお、2015年5月時点でHTTP/2に対応しているブラウザは下記の通りです。

  • Google Chrome 
  • Mozilla Firefox 
  • Internet Explorer 11 on Windows 10
  • Opera
現時点で既に多くのブラウザがHTTP/2をサポートしていることがわかります。

F5EEC84D-A4F6-415A-8A5A-74410608EE9E.png
BE234E52-AFFD-4D00-ADCD-5F79D97C77E8.png
参考: http://caniuse.com/#search=HTTP2


アカマイでは既にHTTP/2をβ版(※1)としてリリースしており、お客様が実際にHTTP/2を検証いただける環境をご提供しております。お客様のオリジンサーバ環境はHTTP/1.1のまま、エンドユーザーのブラウザとAkamaiサーバ間をHTTP/2に対応できます。アカマイのセキュア配信(HTTPS)の環境があれば、プロパティマネージャ(アカマイポータルの設定コンソール)からHTTP/2を有効化できます。

HTTP/2の正式リリースは2015年内を予定しています。
※1 現在はベータリリースとなりますので、いくつか条件や制限事項がございます。

なお、こちらのサイトでHTTP/1.1とHTTP/2の比較デモをご覧いたいただけます。小さなタイル画像を組み合わせることによって、Akamai Spinning Globeの画像を描画するデモとなっており、HTTP/2の効果がご覧いただけます。

当面はHTTP/1.1とHTTP/2が共存しつつ、ゆるやかにHTTP/2へシフトしていくことが予想されますが、HTTP/2へのシフトはWEBパフォーマンスの向上だけでなく、TCPコネクション数の削減によりネットワークに対する負荷軽減も期待できます。特にモバイルユーザーが増加している今日ではモバイルネットワークの大幅な効率化が期待できるかもしれません。その他にHTTP/2利用によるセキュリティ向上も期待できます。

また、WEBコンテンツ提供者の立場では、WEBページ最適化手法の見直し、アプリケーションやWEBサーバーのアップグレード、WAFの対応等、HTTP/2に向けた様々な対応が今後必要になってくることが予想されますが、アカマイを有効にご利用いただくことによって、それらの対応に必要となるリソースを削減し、対応期間を短縮できる可能性があります。

アカマイでは来たるHTTP/2時代に速やかに対応するための機能を継続してご提供していく予定です。

Leave a comment