Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
HTTP/2.0と標準化
2013/10/28(Mon)
パワーランチ@NEXTSCAPE
Taketo Takashima
agenda
• はじめに
- HTTPとHTML
- 標準化(IETF)

• Webの変化
• HTTP/2.0
• SPDY
• まとめ
HTTPとHTML
HTTP
HTML
HTTPとは?

• Hyper Text Transfer Protocol
• サーバとブラウザ間でHTMLをやり取
りするルール

• ユーザトラフィックの約80%がHTTP
HTTPの歴史
1991

WWW公開

1996/5 HTTP/1.0 (RFC1945)
1997/7 HTTP/1.1 (RFC2068)
...
2009/11 SPDY/1 (Google)
2012/8 HTTP/2.0 (IETF...
HTTPのリクエスト

http://t32k.me/mol/log/reduce-http-requests-overview/
標準化(IETF)
標準?

• 相互運用のための規格のこと
- 単位(メートル)、ネジ、電話、WiFi、
- メール、HTTP、HTML、etc...

• 国際標準: 世界共通の規格
標準化団体

• IETF: インターネット技術
• W3C: Web/HTML
• ITU: 電気通信/無線通信
• ISO: 工業(電気分野以外)
IETFとは?
•

インターネット技術の標準化団体
- MLやMeeting(年3回)で議論
- だれでも参加可能

•

RFCを発行
- IPv4/v6やTCP, HTTP, FTP, メールなどの仕様

•

Working Group...
標準化の流れ(IETF)

• Internet-Draft として十分議論される
とRFC化に進む

https://www.nic.ad.jp/ja/newsletter/No24/090.html
Webの変化
HTTPの歴史
1991

WWW公開

1996/5 HTTP/1.0 (RFC1945)
1997/7 HTTP/1.1 (RFC2068)
...
2009/11 SPDY/1
2012/8 HTTP/2.0 (IETF 84)
2012...
1997

2013
ページサイズとリクエスト数の推移

http://httparchive.org/trends.php#bytesTotal&reqTotal
HTTP/1.1の問題点

• ネットワークの効率が悪い
- パイプライン/keep-alive

• 認証(Basic, Digest)
• セキュリティ
• etc...
HTTP/2.0
HTTP/2.0の目的

• 環境を限定しないパフォーマンス改善
• ネットワーク資源の効率的な使用
• 現代的なセキュリティ要件および慣習
の反映
仕様策定状況

• IETF httpbis WG で仕様策定中
• 2014年11月標準化(RFC)を目標
• 現在の状況: Internet-Draft
draft-ietf-httpbis-http2-07
HTTPの歴史
1991

WWW公開

1996/5 HTTP/1.0 (RFC1945)
1997/7 HTTP/1.1 (RFC2068)
...
2009/11 SPDY/1(Google)
2012/8 HTTP/2.0 (IETF ...
SPDY/3をベースに仕様策定中

http://tools.ietf.org/html/draft-ietf-httpbis-http2-00
HTTP/2.0の機能
HTTP/2.0で変わらないこと

•
•

メソッド(GET/POST)、ステータスコード(404)
URIのスキーム(http://)
- http2://、web://

•

TCPの利用
- UDP、TFO(TCP Fast Open...
HTTP/2.0で追加される機能

• バイナリ形式
• 多重化/フロー制御
• ヘッダ圧縮(HPAC)
• サーバプッシュ
• アップグレード(ALPN)
バイナリ形式

• バイナリ形式の「フレーム」単位

http://chimera.labs.oreilly.com/books/1230000000545/ch12.html#_design_and_technical_goals
フレームの種類
• DATA
• HEADERS
• PRIORITY
• RST_STREAM
• SETTINGS

• PUSH_PROMISE
• PING
• GOAWAY
• WINDOW_UPDATE
• CONTINUATION
多重化/フロー制御
• HTTP/1.1 - 1コネクション(TCP)で1リクエ
スト(HTTP)

• HTTP/2.0 - TCPコネクション内に複数チャ
ネル作成

• レスポンスはリクエストの順序に依存しない

http://chime...
https://jxck.io/labs/http2cat/#https://www.facebook.com/
ヘッダ圧縮(HPAC)

• ヘッダの差分のみ送信

http://chimera.labs.oreilly.com/books/1230000000545/ch12.html#_design_and_technical_goals
サーバプッシュ
• 関連するリソースをクライアントからリクエ
ストがある前にサーバから送信する

http://chimera.labs.oreilly.com/books/1230000000545/ch12.html#_design_and...
アップグレード(ALPN)

• HTTP/1.1とHTTP/2.0の相互接続
• TLS必須ではない
で、何が変わるの?
• Webの高速化手法
- CSSスプライト不要?
- Domain Sharding で遅くなる?

• ネットワークデザイン
- ロードバランサーの外側はHTTP/2.0
- ロードバランサーの内側はHTTP/1.1
HTTP/2.0 Gateway?

http://www.f5networks.co.jp/shared/pdf/BIG-IP_SPDY_Gateway.pdf
いつ使えるようになる?
HTTP/2.0の実装(2013/10)
•
•
•
•
•
•
•
•
•
•
•
•

nghttp2; C; client + server + intermediary; NPN + Upgrade + direct; draft-06...
まだ使えません!

• サーバのプロトタイプ実装/相互接続試
験が始まったばかり

• 早く試してみたい人は SPDY を使いま
しょう!
SPDY
SPDYとは?

• Googleが策定した Web の表示を高速
化するためのプロトコル

• 多重化/ヘッダ圧縮/サーバプッシュ/
etc

http://www.chromium.org/spdy/spdy-whitepaper
SPDY バージョン

http://www.chromium.org/spdy/spdy-protocol
SPDY 対応状況
ブラウザ

サーバ

• Chrome 10+
• Firefox 13+
• IE 11
• Opera 12+
• Android 3.0+

• Apache(mod_spdy)
• Nginx
• Jetty
• P...
SPDYを利用しているサービス

• Google
• Akamai
• facebook
• twitter
• Line
• wordpress.com
ヘッダ圧縮+TLSの脆弱性

• CRIME攻撃
- 重複したデータが圧縮されるので、文字列を
埋め込んで送信データが小さくなれば文字列
を推測できる

• 対策
- SPDY/3までの実装ではヘッダ圧縮OFFにす
る
まとめ
まとめ

• HTTP/2.0はパフォーマンスの改善
• Web高速化の手法が変わる
• 今すぐ試すなら SPDY を利用する
• 標準化の仕様を知ると、今後の技術動
向の未来が少しわかる(...かも)
参考情報
HTTP/2.0関連(仕様)
•

draft

http://tools.ietf.org/html/draft-ietf-httpbis-http2

•

github

https://github.com/http2/http2-sp...
HTTP/2.0紹介記事
•

HTTP 2.0の最新動向 ¦ Internet Watch

http://internet.watch.impress.co.jp/docs/
column/http20/latest.html

•

We...
IETF関連
•

IETF

http://www.ietf.org/

•

The Tao of IETF

http://www.ietf.org/tao-translated-ja.html

•

IETFとRFC - JPNIC
...
Upcoming SlideShare
Loading in …5
×

of

HTTP/2.0と標準化 Slide 1 HTTP/2.0と標準化 Slide 2 HTTP/2.0と標準化 Slide 3 HTTP/2.0と標準化 Slide 4 HTTP/2.0と標準化 Slide 5 HTTP/2.0と標準化 Slide 6 HTTP/2.0と標準化 Slide 7 HTTP/2.0と標準化 Slide 8 HTTP/2.0と標準化 Slide 9 HTTP/2.0と標準化 Slide 10 HTTP/2.0と標準化 Slide 11 HTTP/2.0と標準化 Slide 12 HTTP/2.0と標準化 Slide 13 HTTP/2.0と標準化 Slide 14 HTTP/2.0と標準化 Slide 15 HTTP/2.0と標準化 Slide 16 HTTP/2.0と標準化 Slide 17 HTTP/2.0と標準化 Slide 18 HTTP/2.0と標準化 Slide 19 HTTP/2.0と標準化 Slide 20 HTTP/2.0と標準化 Slide 21 HTTP/2.0と標準化 Slide 22 HTTP/2.0と標準化 Slide 23 HTTP/2.0と標準化 Slide 24 HTTP/2.0と標準化 Slide 25 HTTP/2.0と標準化 Slide 26 HTTP/2.0と標準化 Slide 27 HTTP/2.0と標準化 Slide 28 HTTP/2.0と標準化 Slide 29 HTTP/2.0と標準化 Slide 30 HTTP/2.0と標準化 Slide 31 HTTP/2.0と標準化 Slide 32 HTTP/2.0と標準化 Slide 33 HTTP/2.0と標準化 Slide 34 HTTP/2.0と標準化 Slide 35 HTTP/2.0と標準化 Slide 36 HTTP/2.0と標準化 Slide 37 HTTP/2.0と標準化 Slide 38 HTTP/2.0と標準化 Slide 39 HTTP/2.0と標準化 Slide 40 HTTP/2.0と標準化 Slide 41 HTTP/2.0と標準化 Slide 42 HTTP/2.0と標準化 Slide 43 HTTP/2.0と標準化 Slide 44 HTTP/2.0と標準化 Slide 45 HTTP/2.0と標準化 Slide 46 HTTP/2.0と標準化 Slide 47 HTTP/2.0と標準化 Slide 48 HTTP/2.0と標準化 Slide 49
Upcoming SlideShare
Amazon VPCトレーニング-VPCの説明
Next
Download to read offline and view in fullscreen.

7 Likes

Share

Download to read offline

HTTP/2.0と標準化

Download to read offline

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

HTTP/2.0と標準化

  1. 1. HTTP/2.0と標準化 2013/10/28(Mon) パワーランチ@NEXTSCAPE Taketo Takashima
  2. 2. agenda • はじめに - HTTPとHTML - 標準化(IETF) • Webの変化 • HTTP/2.0 • SPDY • まとめ
  3. 3. HTTPとHTML
  4. 4. HTTP HTML
  5. 5. HTTPとは? • Hyper Text Transfer Protocol • サーバとブラウザ間でHTMLをやり取 りするルール • ユーザトラフィックの約80%がHTTP
  6. 6. HTTPの歴史 1991 WWW公開 1996/5 HTTP/1.0 (RFC1945) 1997/7 HTTP/1.1 (RFC2068) ... 2009/11 SPDY/1 (Google) 2012/8 HTTP/2.0 (IETF 84) 2012/11 HTTP/2.0 (draft-00) 2013/10 HTTP/2.0 (draft-07)
  7. 7. HTTPのリクエスト http://t32k.me/mol/log/reduce-http-requests-overview/
  8. 8. 標準化(IETF)
  9. 9. 標準? • 相互運用のための規格のこと - 単位(メートル)、ネジ、電話、WiFi、 - メール、HTTP、HTML、etc... • 国際標準: 世界共通の規格
  10. 10. 標準化団体 • IETF: インターネット技術 • W3C: Web/HTML • ITU: 電気通信/無線通信 • ISO: 工業(電気分野以外)
  11. 11. IETFとは? • インターネット技術の標準化団体 - MLやMeeting(年3回)で議論 - だれでも参加可能 • RFCを発行 - IPv4/v6やTCP, HTTP, FTP, メールなどの仕様 • Working Group - hybi、json、dnsop、ospf、oauth など
  12. 12. 標準化の流れ(IETF) • Internet-Draft として十分議論される とRFC化に進む https://www.nic.ad.jp/ja/newsletter/No24/090.html
  13. 13. Webの変化
  14. 14. HTTPの歴史 1991 WWW公開 1996/5 HTTP/1.0 (RFC1945) 1997/7 HTTP/1.1 (RFC2068) ... 2009/11 SPDY/1 2012/8 HTTP/2.0 (IETF 84) 2012/11 HTTP/2.0 (draft-00) 2013/10 HTTP/2.0 (draft-07)
  15. 15. 1997 2013
  16. 16. ページサイズとリクエスト数の推移 http://httparchive.org/trends.php#bytesTotal&reqTotal
  17. 17. HTTP/1.1の問題点 • ネットワークの効率が悪い - パイプライン/keep-alive • 認証(Basic, Digest) • セキュリティ • etc...
  18. 18. HTTP/2.0
  19. 19. HTTP/2.0の目的 • 環境を限定しないパフォーマンス改善 • ネットワーク資源の効率的な使用 • 現代的なセキュリティ要件および慣習 の反映
  20. 20. 仕様策定状況 • IETF httpbis WG で仕様策定中 • 2014年11月標準化(RFC)を目標 • 現在の状況: Internet-Draft draft-ietf-httpbis-http2-07
  21. 21. HTTPの歴史 1991 WWW公開 1996/5 HTTP/1.0 (RFC1945) 1997/7 HTTP/1.1 (RFC2068) ... 2009/11 SPDY/1(Google) 2012/8 HTTP/2.0 (IETF 84) 2012/11 HTTP/2.0 (draft-00) 2013/10 HTTP/2.0 (draft-07)
  22. 22. SPDY/3をベースに仕様策定中 http://tools.ietf.org/html/draft-ietf-httpbis-http2-00
  23. 23. HTTP/2.0の機能
  24. 24. HTTP/2.0で変わらないこと • • メソッド(GET/POST)、ステータスコード(404) URIのスキーム(http://) - http2://、web:// • TCPの利用 - UDP、TFO(TCP Fast Open)なども検討された • 認証はスコープから除外 - IETF httpauth WG で議論中
  25. 25. HTTP/2.0で追加される機能 • バイナリ形式 • 多重化/フロー制御 • ヘッダ圧縮(HPAC) • サーバプッシュ • アップグレード(ALPN)
  26. 26. バイナリ形式 • バイナリ形式の「フレーム」単位 http://chimera.labs.oreilly.com/books/1230000000545/ch12.html#_design_and_technical_goals
  27. 27. フレームの種類 • DATA • HEADERS • PRIORITY • RST_STREAM • SETTINGS • PUSH_PROMISE • PING • GOAWAY • WINDOW_UPDATE • CONTINUATION
  28. 28. 多重化/フロー制御 • HTTP/1.1 - 1コネクション(TCP)で1リクエ スト(HTTP) • HTTP/2.0 - TCPコネクション内に複数チャ ネル作成 • レスポンスはリクエストの順序に依存しない http://chimera.labs.oreilly.com/books/1230000000545/ch12.html#_design_and_technical_goals
  29. 29. https://jxck.io/labs/http2cat/#https://www.facebook.com/
  30. 30. ヘッダ圧縮(HPAC) • ヘッダの差分のみ送信 http://chimera.labs.oreilly.com/books/1230000000545/ch12.html#_design_and_technical_goals
  31. 31. サーバプッシュ • 関連するリソースをクライアントからリクエ ストがある前にサーバから送信する http://chimera.labs.oreilly.com/books/1230000000545/ch12.html#_design_and_technical_goals
  32. 32. アップグレード(ALPN) • HTTP/1.1とHTTP/2.0の相互接続 • TLS必須ではない
  33. 33. で、何が変わるの? • Webの高速化手法 - CSSスプライト不要? - Domain Sharding で遅くなる? • ネットワークデザイン - ロードバランサーの外側はHTTP/2.0 - ロードバランサーの内側はHTTP/1.1
  34. 34. HTTP/2.0 Gateway? http://www.f5networks.co.jp/shared/pdf/BIG-IP_SPDY_Gateway.pdf
  35. 35. いつ使えるようになる?
  36. 36. HTTP/2.0の実装(2013/10) • • • • • • • • • • • • nghttp2; C; client + server + intermediary; NPN + Upgrade + direct; draft-06 http2-katana; C#; server + test client; ALPN + Upgrade; draft-06 node-http2; JavaScript (NodeJS); server + client; NPN + direct; draft-06 Mozilla; C++; client; ALPN + NPN; draft-06 http2-perl; Perl; client + server; NPN; draft-04 iij-http2; NodeJS; client + server; ALPN + NPN + Upgrade + direct; draft-06 Akamai Ghost; C++; intermediary; NPN; draft-06 Chromium; C++; client; ALPN + NPN; draft-06 Hasan's GFE; C++; intermediary; ALPN + NPN; draft-04 Twitter; Java; server + client; NPN; draft-06 Wireshark; C; other; NPN + ALPN; draft-06 Ericsson MSP; proxy; NPN + Upgrade + direct; draft-06 https://github.com/http2/http2-spec/wiki/Implementations
  37. 37. まだ使えません! • サーバのプロトタイプ実装/相互接続試 験が始まったばかり • 早く試してみたい人は SPDY を使いま しょう!
  38. 38. SPDY
  39. 39. SPDYとは? • Googleが策定した Web の表示を高速 化するためのプロトコル • 多重化/ヘッダ圧縮/サーバプッシュ/ etc http://www.chromium.org/spdy/spdy-whitepaper
  40. 40. SPDY バージョン http://www.chromium.org/spdy/spdy-protocol
  41. 41. SPDY 対応状況 ブラウザ サーバ • Chrome 10+ • Firefox 13+ • IE 11 • Opera 12+ • Android 3.0+ • Apache(mod_spdy) • Nginx • Jetty • Python • Ruby • node.js • F5 BIG-IP
  42. 42. SPDYを利用しているサービス • Google • Akamai • facebook • twitter • Line • wordpress.com
  43. 43. ヘッダ圧縮+TLSの脆弱性 • CRIME攻撃 - 重複したデータが圧縮されるので、文字列を 埋め込んで送信データが小さくなれば文字列 を推測できる • 対策 - SPDY/3までの実装ではヘッダ圧縮OFFにす る
  44. 44. まとめ
  45. 45. まとめ • HTTP/2.0はパフォーマンスの改善 • Web高速化の手法が変わる • 今すぐ試すなら SPDY を利用する • 標準化の仕様を知ると、今後の技術動 向の未来が少しわかる(...かも)
  46. 46. 参考情報
  47. 47. HTTP/2.0関連(仕様) • draft http://tools.ietf.org/html/draft-ietf-httpbis-http2 • github https://github.com/http2/http2-spec • httpbis http://trac.tools.ietf.org/wg/httpbis/trac/wiki • SPDY http://www.chromium.org/spdy/
  48. 48. HTTP/2.0紹介記事 • HTTP 2.0の最新動向 ¦ Internet Watch http://internet.watch.impress.co.jp/docs/ column/http20/latest.html • Web表示の高速化を実現するSPDYとHTTP/2.0の 標準化 http://www.iij.ad.jp/company/development/ tech/activities/spdy/ • 変わるWebプロトコルの常識(SPDY, HTTP2.0 編) ¦ html5experts.jp http://html5experts.jp/komasshu/404/
  49. 49. IETF関連 • IETF http://www.ietf.org/ • The Tao of IETF http://www.ietf.org/tao-translated-ja.html • IETFとRFC - JPNIC https://www.nic.ad.jp/ja/tech/rfc-jp.html • インターネット10分講座:RFC - JPNIC https://www.nic.ad.jp/ja/newsletter/ No24/090.html
  • hashimotoms

    Apr. 21, 2015
  • takecy

    Apr. 21, 2015
  • yuujihato

    Apr. 21, 2015
  • riverk2

    May. 5, 2014
  • AtsuoAoki

    Feb. 25, 2014
  • kotakanbe

    Oct. 31, 2013
  • shirokuro331

    Oct. 29, 2013

Views

Total views

4,275

On Slideshare

0

From embeds

0

Number of embeds

1,026

Actions

Downloads

27

Shares

0

Comments

0

Likes

7

×