Your SlideShare is downloading. ×
HTTP/2.0と標準化
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

HTTP/2.0と標準化

1,491
views

Published on

Published in: Technology

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,491
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
11
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. HTTP/2.0と標準化 2013/10/28(Mon) パワーランチ@NEXTSCAPE Taketo Takashima
  • 2. agenda • はじめに - HTTPとHTML - 標準化(IETF) • Webの変化 • HTTP/2.0 • SPDY • まとめ
  • 3. HTTPとHTML
  • 4. HTTP HTML
  • 5. HTTPとは? • Hyper Text Transfer Protocol • サーバとブラウザ間でHTMLをやり取 りするルール • ユーザトラフィックの約80%がHTTP
  • 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. HTTPのリクエスト http://t32k.me/mol/log/reduce-http-requests-overview/
  • 8. 標準化(IETF)
  • 9. 標準? • 相互運用のための規格のこと - 単位(メートル)、ネジ、電話、WiFi、 - メール、HTTP、HTML、etc... • 国際標準: 世界共通の規格
  • 10. 標準化団体 • IETF: インターネット技術 • W3C: Web/HTML • ITU: 電気通信/無線通信 • ISO: 工業(電気分野以外)
  • 11. IETFとは? • インターネット技術の標準化団体 - MLやMeeting(年3回)で議論 - だれでも参加可能 • RFCを発行 - IPv4/v6やTCP, HTTP, FTP, メールなどの仕様 • Working Group - hybi、json、dnsop、ospf、oauth など
  • 12. 標準化の流れ(IETF) • Internet-Draft として十分議論される とRFC化に進む https://www.nic.ad.jp/ja/newsletter/No24/090.html
  • 13. Webの変化
  • 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. 1997 2013
  • 16. ページサイズとリクエスト数の推移 http://httparchive.org/trends.php#bytesTotal&reqTotal
  • 17. HTTP/1.1の問題点 • ネットワークの効率が悪い - パイプライン/keep-alive • 認証(Basic, Digest) • セキュリティ • etc...
  • 18. HTTP/2.0
  • 19. HTTP/2.0の目的 • 環境を限定しないパフォーマンス改善 • ネットワーク資源の効率的な使用 • 現代的なセキュリティ要件および慣習 の反映
  • 20. 仕様策定状況 • IETF httpbis WG で仕様策定中 • 2014年11月標準化(RFC)を目標 • 現在の状況: Internet-Draft draft-ietf-httpbis-http2-07
  • 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. SPDY/3をベースに仕様策定中 http://tools.ietf.org/html/draft-ietf-httpbis-http2-00
  • 23. HTTP/2.0の機能
  • 24. HTTP/2.0で変わらないこと • • メソッド(GET/POST)、ステータスコード(404) URIのスキーム(http://) - http2://、web:// • TCPの利用 - UDP、TFO(TCP Fast Open)なども検討された • 認証はスコープから除外 - IETF httpauth WG で議論中
  • 25. HTTP/2.0で追加される機能 • バイナリ形式 • 多重化/フロー制御 • ヘッダ圧縮(HPAC) • サーバプッシュ • アップグレード(ALPN)
  • 26. バイナリ形式 • バイナリ形式の「フレーム」単位 http://chimera.labs.oreilly.com/books/1230000000545/ch12.html#_design_and_technical_goals
  • 27. フレームの種類 • DATA • HEADERS • PRIORITY • RST_STREAM • SETTINGS • PUSH_PROMISE • PING • GOAWAY • WINDOW_UPDATE • CONTINUATION
  • 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. https://jxck.io/labs/http2cat/#https://www.facebook.com/
  • 30. ヘッダ圧縮(HPAC) • ヘッダの差分のみ送信 http://chimera.labs.oreilly.com/books/1230000000545/ch12.html#_design_and_technical_goals
  • 31. サーバプッシュ • 関連するリソースをクライアントからリクエ ストがある前にサーバから送信する http://chimera.labs.oreilly.com/books/1230000000545/ch12.html#_design_and_technical_goals
  • 32. アップグレード(ALPN) • HTTP/1.1とHTTP/2.0の相互接続 • TLS必須ではない
  • 33. で、何が変わるの? • Webの高速化手法 - CSSスプライト不要? - Domain Sharding で遅くなる? • ネットワークデザイン - ロードバランサーの外側はHTTP/2.0 - ロードバランサーの内側はHTTP/1.1
  • 34. HTTP/2.0 Gateway? http://www.f5networks.co.jp/shared/pdf/BIG-IP_SPDY_Gateway.pdf
  • 35. いつ使えるようになる?
  • 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. まだ使えません! • サーバのプロトタイプ実装/相互接続試 験が始まったばかり • 早く試してみたい人は SPDY を使いま しょう!
  • 38. SPDY
  • 39. SPDYとは? • Googleが策定した Web の表示を高速 化するためのプロトコル • 多重化/ヘッダ圧縮/サーバプッシュ/ etc http://www.chromium.org/spdy/spdy-whitepaper
  • 40. SPDY バージョン http://www.chromium.org/spdy/spdy-protocol
  • 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. SPDYを利用しているサービス • Google • Akamai • facebook • twitter • Line • wordpress.com
  • 43. ヘッダ圧縮+TLSの脆弱性 • CRIME攻撃 - 重複したデータが圧縮されるので、文字列を 埋め込んで送信データが小さくなれば文字列 を推測できる • 対策 - SPDY/3までの実装ではヘッダ圧縮OFFにす る
  • 44. まとめ
  • 45. まとめ • HTTP/2.0はパフォーマンスの改善 • Web高速化の手法が変わる • 今すぐ試すなら SPDY を利用する • 標準化の仕様を知ると、今後の技術動 向の未来が少しわかる(...かも)
  • 46. 参考情報
  • 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. 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. 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