HTTP/2入門

828
-1

Published on

JAWS-UG沖縄2016年1月勉強会発表資料

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
828
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • 代表の仕事は2種類
    ・最後のスライド
    のこりのスライドはあまり・・・
    CloudFront悪くはないけどEUがねーー^^;;
  • POODLEの脆弱性を突くことで、攻撃者はSSL 3.0の設計を悪用して、セキュアHTTP cookieを含む機密情報の暗号を解読することができる
  • アプリとサーバ間の通信はセキュアにしろ(推奨)
  • サイズもリクエスト数も増加
    サイズが増えるなら帯域を増やせばいいのか?
    http://httparchive.org/trends.php?s=All&minlabel=Dec+16+2010&maxlabel=Aug+1+2015#bytesTotal&reqTotal
  • http://www.slideshare.net/shigeki_ohtsu/http2-quic
    物理的、予算的な制限もあるから難し
  • docs.google.com/presentation/d/1r7QXGYOLCh4fcUq0jDdDwKJWNqWK1o4xMtYpKZCJYjM/present?slide=id.g518e3c87f_2_0
  • http://www.slideshare.net/shigeki_ohtsu/http2-quic
    物理的な制限もあるから難しい
    dk
  • Internet Trend 2014より
  • Internet Trend 2015
    モバイルアクセスの増加
  • http://www.itmedia.co.jp/mobile/articles/1205/07/news065_2.html
    遅延(RTT)が大きすぎる

  • http://caniuse.com/#feat=http2
  • http://gs.statcounter.com/#browser-JP-monthly-201411-201511
  • https://webrage.jp/mobile/data/pc_browser_share.html
  • http://gs.statcounter.com/#mobile_browser-JP-monthly-201411-201511
  • https://developer.apple.com/support/app-store/
  • ApacheもnginxもCentOSのパッケージはない
  • https://http2.redbox.ne.jp/?cid=blogredbox
  • Mobileでの差が大きすぎる
    auが腐っている?
    HTTP/2の恩恵
  • 即時対応すべき
  • PHP7
  • けっこういじってある。
  • HTTP/1.1でのアクセスになっている
    1.14倍
  • 今日は帽子は置かない
  • HTTP/2入門

    1. 1. HTTP/2入門 JAWS-UG沖縄 2016年1月16日
    2. 2. 自己紹介 • Twitter: @asumaslv • SYON Communications • 自称エンジニア • 熱しやすく冷めやすい飽きっぽい性格 • 好きなAWSサービス CloudFront • JAWS-UG沖縄 代表らしい • ソフトウェアエンジニアではない • 写真撮ってTwitter、Facebookに上げてください 2016/1/17 2
    3. 3. SYON Communications エンジニアを募集しています。 2016/1/17 3 で検索
    4. 4. 暗号化の話 2016/1/17 4
    5. 5. SSLの歴史 • SSL 1.0 • 作成段階で致命的な脆弱性が発見され実装されず • SSL 2.0 • 攻撃を回避不能な脆弱性が発見され廃止 • SSL 3.0 • 1995年策定 • IE 6はSSL 3.0までしか対応していない 2016/1/17 5
    6. 6. SSLの歴史 • TLS 1.0 • SSL 3.0とほぼ一緒 • Android 4.3系はここまで対応 • TLS 1.1 • 2006年策定 • TLS 1.2 • 2008年策定で現在の最新版 2016/1/17 6
    7. 7. SSL was dead. • CVE-2014-3566(2014年10月) • SSL 3.0を無効化するように勧告 • IE 6はSSL 3.0までしか対応していなかった • POODLEがSSLを殺した 2016/1/17 7
    8. 8. 常時TLSが必要な理由 2016/1/17 8
    9. 9. 暗号化は必須の流れ • ATS(App Transport Security) • iOS9とEl Capitanから導入されたセキュリティ対策 • 通信事業者による「通信の最適化」 • GoogleはSSL化を推奨していたが「優先的にイン デックスされる」と宣言(2015/12/18) 2016/1/17 9
    10. 10. HTTPS Everywhere 2016/1/17 10
    11. 11. いまの状況 2016/1/17 11
    12. 12. コンテンツサイズ 2016/1/17 12
    13. 13. コンテンツを素早く配信するには • 帯域を用意する • 10Mより100M • 100Mより1G 2016/1/17 13
    14. 14. 帯域とレイテンシ ページの表示時間はこ れ以上短縮できない ちゃんと下がる 2016/1/17 14
    15. 15. Latencyを少なくするために • 回線帯域よりもレイテンシ(RTT)を小さくする • Round Trip Time • 物理的に近いサーバを利用(CDN) • 地域IX? • Round Tripを減らす • アクセス回数を減らす 2016/1/17 15
    16. 16. モバイルトラフィック 2016/1/17 16
    17. 17. 2016/1/17 17
    18. 18. 2016/1/17 18
    19. 19. Mobile環境での遅延 0 20 40 60 80 100 120 EMOBILE LTE EMOBILE 4G Xi フレッツ光 2016/1/17 19
    20. 20. HTTP/2が出てきた背景 • トラフィック増加 • 遅延が損失に直結 • モバイル通信では遅延が大きくなる 2016/1/17 20
    21. 21. HTTP/1.1は多重性がない • 1RTTあたり1Request/Responseしか送受信できない • 毎回3WHS発生 • 対策 複数TCP接続を使う • 同時6セッションが一般的 Client Server request responseRTT RTT request response 2016/1/17 21
    22. 22. HTTP/2の特徴 • ヘッダ圧縮 • マルチプレキシング • バイナリープロトコル • フロー制御 2016/1/17 22
    23. 23. HTTP/2とブラウザ • Webページの描画が早くなる • Webページを構成する要素の取得 • HTTPリクエストの通信が速くなる • 接続済みのTLSを使ってリクエスト • 3Way Handshakingがいらない • 最初に見たいものを優先して取得 • プライオリティ、サーバPush • 遅い(遅延の大きい)ネットワークで生きてくる 2016/1/17 23
    24. 24. HTTP/2対応ブラウザ 2016/1/17 24
    25. 25. 2016/1/17 25
    26. 26. ブラウザのシェア(国内) 0 5 10 15 20 25 30 35 40 Google Chrome 46.0 Internet Explorer 11.0 Firefox 42.0 Google Chrome for Android Firefox 41.0 Safari 9.0 Internet Explorer 9.0 Internet Explorer 8.0 Internet Explorer 10.0 その他 2016/1/17 26
    27. 27. Mobile 2016/1/17 27
    28. 28. 2016/1/17 28
    29. 29. 2016/1/17 29 iOS 9 71% iOS 8 21% Earlier 8%
    30. 30. HTTP/2を利用するには • 対応サーバが徐々に増えてきている • nginx (1.9.5) • IIS • In October, we announced that IIS in the Windows 10 Technical Preview added support for HTTP/2. • Apache(2.4.17) • h2o • hghttpx2 2016/1/17 30
    31. 31. h2o • DeNAの方が出してあるOSS • 2014年夏から開発 • the optimized HTTP/1.x, HTTP/2 server • まともに動くHTTP/2サーバ • 本番環境投入が可能 • Compare resource loading between HTTP/2 (H2O) and HTTP/1.1 (Nginx) 2016/1/17 31
    32. 32. 一番手軽なh2o • リバースプロキシとしての利用 • 同一ホストや同一iDC(Region)ならLatencyは小さい 2016/1/17 32
    33. 33. 社内での利用 • AWS上のzabbixがHTTP/2 • 画像が多い=アクセス回数が増える • HTTP/1.1より高速なはず^^;; • 東京RegionだとLatencyそんなに悪くはない 2016/1/17 33
    34. 34. HTTP/2とHTTP/1.1の速度差 • https://http2.redbox.ne.jp/?cid=blogredbox • 2015/12/25 16:04 iPhone 6s Plus 2016/1/17 34 HTTP/1.1 HTTP/2 差 Wi-Fi 0.85秒 0.66秒 0.19s(1.2倍) au LTE 31.57秒 0.72秒 30.85s(43.8倍) au LTE 50.38秒 1.04秒 49.34s(48.4倍)
    35. 35. HTTP/2対応しない理由はない 2016/1/17 35
    36. 36. HTTP/2メリット • ページの表示が速くなる • TCPの接続数が少なくてい い • サーバ台数減らせる=コス ト削減 HTTP/2 デメリット • 対応サーバがまだ多くな い • 気のせい? • TLS前提 • RFC的には必須ではないは ず • 実装では必須 2016/1/17 36
    37. 37. HTTP/2が普及するには • nginxやApacheのパッケージ版で使える事 • AWSやGCEのLoad Balancingで使える事 • 証明書のコスト負担を下げること • StartSSLやLet’s Encrypt 2016/1/17 37
    38. 38. HTTP/2対応の次期は今 まとめ 2016/1/17 38
    39. 39. おまけ PHP 7について 2016/1/17 39
    40. 40. PHP7 • 10年ぶりのアップデート • 12月3日にrelease • PHP6はスキップ • PHP7の特徴 • 内部的なデータ構造が変更により高速化 • PHP 5.6と比較して2倍高速 • メモリ使用量も50%改善 • 抽象構文木の導入 2016/1/17 40
    41. 41. 2016/1/17 41
    42. 42. 個人利用 • https://www.barasu.org/ • フロント(h2o + PHP7 + WordPress) • HTTP/2 Ready • 116.94.0.124 - - [28/Dec/2015:15:54:30 +0900] "GET /favicon.ico HTTP/2" 200 0 "https://www.barasu.org/pc/11589.html" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36" 2016/1/17 42
    43. 43. 速度測定 PHP 5.4(GTMetrix) 2016/1/17 43
    44. 44. 速度測定 PHP7(GTMetrix) 2016/1/17 44
    45. 45. 懇親会会場 • 居酒屋 魚関 • 沖縄県宜野湾市宇地泊588-16 • 3,000円/人 • 飲み放題 • 食べ放題 • 17名で予約 • 18:00~ 2016/1/17 45
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×