More Related Content Similar to HTTP/2.0がもたらすWebサービスの進化(後半) Similar to HTTP/2.0がもたらすWebサービスの進化(後半) (20) More from shigeki_ohtsu (12) HTTP/2.0がもたらすWebサービスの進化(後半)3. HTTP/2.0とは、
• HTTP/1.1 の策定(1999年)から
14年。
• IETF httpbis WGで HTTP/1.1仕様
改訂の見込みがたった。
• 新しい仕様を作る動きが開始
• 従来のHTTP/1.1のセマンティク
ス維持。互換性保持。
• HTTP/2.0でフレーム化、新しい
シンタックスを導入。
• SPDYをアイデアにしているが、
仕様提案を一般公募して決定。
HTTP/1.1
Semantics
HTTP/2.0
Frame Layer
TLS
TCP
IP(v4/v6)
Ethernet
4. まさに今、HTTP/2.0絶賛開発中
HTTP-draft-06/2.0 対応相互接続試験実装リスト
名称
実装言語
Client,Server,
Intermidate
ニゴシエーション
1
nghttp2
C
S, C, I
NPN, Upgrade, Direct
2
http2-katana
C#
S, C
ALPN, Upgrade
3
node-http2
Node.js
S, C
NPN, direct
4
Mozilla Firefox
C++
C
ALPN, NPN
5
iij-http2
Node.js
S, C
ALPN, NPN, Upgrade, Direct
6
Akamai Ghost
C++
I
NPN
7
Chromium
C++
C
ALPN, NPN
8
Twitter
Java
S, C
NPN
9
Wireshark
C
other
NPN, ALPN
C
proxy
10 Ericcson MSP
(2013/10時点 https://github.com/http2/http2-spec/wiki/Implementations より引用)
6. HTTP/2.0初期ニゴシエーション
3種類で2段階(その1)
詳細後述
(1) TLS + ALPN
(2) HTTP Upgrade
(3) Direct接続
TLS接続時にALPN拡張フィールドを利用して
HTTP/2.0に接続を行う。
HTTP/1.1の接続後 Upgradeヘッダを使って、
HTTP/2.0 に接続をアップグレードする。
別仕様への
分離や廃止も
議論中
あらかじめサーバがHTTP/2.0対応とわかってい
る場合、直接第2段階の接続方法を行う。
(DNSレコードや HTTPヘッダによるリダイレクト)
10. HPACK:新しいヘッダ圧縮仕様
GET / HTTP/1.1
host: www.example.com
1.
2.
3.
4.
平均20~30%デー
タ量を削減
CRIME脆弱性対応
2番の:method GETを追加
7番の:scheme http を追加
6番の :path / を追加
4番の : authority に www.example.com
をハフマン符号化して追加
(ヘッダの差分情報を符号化して
やり取りする)
送信前ヘッダテーブル
1. :authority,
2. :method, GET
3. :method, POST
4. :path, /
5. :path, /index.html
6. :scheme, http
・・・・
0x82
0x87
0x86
0x04 0x8b 0 xdb 0x6d 0x88
0x3e 0x68 0xd1 0xcb 0x12
0x25 0xba 0x7f
(実際に送信するヘッダ情報)
受信後ヘッダテーブル
1. :authority,
www.example.com
2. :path, /
3. :scheme, http
4. :method, GET
・・・・
16. Webを今後どうするか?
IETF-88 httpbis ワーキングループの議論
1. 現状のままなにもしない。
2. http://~ は、サーバ認証せず暗号化する
(Opportunistic Encryption:日和見暗号)
3. http://~ は、サーバ認証と暗号化する
4. HTTP/2.0 では https:// の利用を必須
(Openな環境でHTTP/2.0の利用をSSLに限定)
会場では 3 か 4 の賛成が主流だったが…
22. HTTP/2.0 わかれる議論
SSLに限定 非暗号化も許す
技術的な優劣の判断になりにくい。
新たな提案:
• 非暗号化用に http2://~ +新TCPポート を新設しよう
か?
• HTTP/2.0仕様の枠内で新規に暗号化を行うよう仕様
を追加するか?
まだどこに落ち着くか全く見通せない。
しかし、 HTTP/2.0の動向がインターネットサービスのセ
キュリティ動向に大きく影響を与えるのは間違いない。