[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
SlideShare a Scribd company logo
HTTP/2入門
JAWS-UG沖縄
2016年1月16日
自己紹介
• Twitter: @asumaslv
• SYON Communications
• 自称エンジニア
• 熱しやすく冷めやすい飽きっぽい性格
• 好きなAWSサービス CloudFront
• JAWS-UG沖縄 代表らしい
• ソフトウェアエンジニアではない
• 写真撮ってTwitter、Facebookに上げてください
2016/1/17 2
SYON Communications
エンジニアを募集しています。
2016/1/17 3
で検索
暗号化の話
2016/1/17 4
SSLの歴史
• SSL 1.0
• 作成段階で致命的な脆弱性が発見され実装されず
• SSL 2.0
• 攻撃を回避不能な脆弱性が発見され廃止
• SSL 3.0
• 1995年策定
• IE 6はSSL 3.0までしか対応していない
2016/1/17 5
SSLの歴史
• TLS 1.0
• SSL 3.0とほぼ一緒
• Android 4.3系はここまで対応
• TLS 1.1
• 2006年策定
• TLS 1.2
• 2008年策定で現在の最新版
2016/1/17 6
SSL was dead.
• CVE-2014-3566(2014年10月)
• SSL 3.0を無効化するように勧告
• IE 6はSSL 3.0までしか対応していなかった
• POODLEがSSLを殺した
2016/1/17 7
常時TLSが必要な理由
2016/1/17 8
暗号化は必須の流れ
• ATS(App Transport Security)
• iOS9とEl Capitanから導入されたセキュリティ対策
• 通信事業者による「通信の最適化」
• GoogleはSSL化を推奨していたが「優先的にイン
デックスされる」と宣言(2015/12/18)
2016/1/17 9
HTTPS Everywhere
2016/1/17 10
いまの状況
2016/1/17 11
コンテンツサイズ
2016/1/17 12
コンテンツを素早く配信するには
• 帯域を用意する
• 10Mより100M
• 100Mより1G
2016/1/17 13
帯域とレイテンシ
ページの表示時間はこ
れ以上短縮できない
ちゃんと下がる
2016/1/17 14
Latencyを少なくするために
• 回線帯域よりもレイテンシ(RTT)を小さくする
• Round Trip Time
• 物理的に近いサーバを利用(CDN)
• 地域IX?
• Round Tripを減らす
• アクセス回数を減らす
2016/1/17 15
モバイルトラフィック
2016/1/17 16
2016/1/17 17
2016/1/17 18
Mobile環境での遅延
0 20 40 60 80 100 120
EMOBILE LTE
EMOBILE 4G
Xi
フレッツ光
2016/1/17 19
HTTP/2が出てきた背景
• トラフィック増加
• 遅延が損失に直結
• モバイル通信では遅延が大きくなる
2016/1/17 20
HTTP/1.1は多重性がない
• 1RTTあたり1Request/Responseしか送受信できない
• 毎回3WHS発生
• 対策 複数TCP接続を使う
• 同時6セッションが一般的
Client Server
request
responseRTT
RTT
request
response
2016/1/17 21
HTTP/2の特徴
• ヘッダ圧縮
• マルチプレキシング
• バイナリープロトコル
• フロー制御
2016/1/17 22
HTTP/2とブラウザ
• Webページの描画が早くなる
• Webページを構成する要素の取得
• HTTPリクエストの通信が速くなる
• 接続済みのTLSを使ってリクエスト
• 3Way Handshakingがいらない
• 最初に見たいものを優先して取得
• プライオリティ、サーバPush
• 遅い(遅延の大きい)ネットワークで生きてくる
2016/1/17 23
HTTP/2対応ブラウザ
2016/1/17 24
2016/1/17 25
ブラウザのシェア(国内)
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
Mobile
2016/1/17 27
2016/1/17 28
2016/1/17 29
iOS 9
71%
iOS 8
21%
Earlier
8%
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
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
一番手軽なh2o
• リバースプロキシとしての利用
• 同一ホストや同一iDC(Region)ならLatencyは小さい
2016/1/17 32
社内での利用
• AWS上のzabbixがHTTP/2
• 画像が多い=アクセス回数が増える
• HTTP/1.1より高速なはず^^;;
• 東京RegionだとLatencyそんなに悪くはない
2016/1/17 33
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倍)
HTTP/2対応しない理由はない
2016/1/17 35
HTTP/2メリット
• ページの表示が速くなる
• TCPの接続数が少なくてい
い
• サーバ台数減らせる=コス
ト削減
HTTP/2 デメリット
• 対応サーバがまだ多くな
い
• 気のせい?
• TLS前提
• RFC的には必須ではないは
ず
• 実装では必須
2016/1/17 36
HTTP/2が普及するには
• nginxやApacheのパッケージ版で使える事
• AWSやGCEのLoad Balancingで使える事
• 証明書のコスト負担を下げること
• StartSSLやLet’s Encrypt
2016/1/17 37
HTTP/2対応の次期は今
まとめ
2016/1/17 38
おまけ
PHP 7について
2016/1/17 39
PHP7
• 10年ぶりのアップデート
• 12月3日にrelease
• PHP6はスキップ
• PHP7の特徴
• 内部的なデータ構造が変更により高速化
• PHP 5.6と比較して2倍高速
• メモリ使用量も50%改善
• 抽象構文木の導入
2016/1/17 40
2016/1/17 41
個人利用
• 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
速度測定 PHP 5.4(GTMetrix)
2016/1/17 43
速度測定 PHP7(GTMetrix)
2016/1/17 44
懇親会会場
• 居酒屋 魚関
• 沖縄県宜野湾市宇地泊588-16
• 3,000円/人
• 飲み放題
• 食べ放題
• 17名で予約
• 18:00~
2016/1/17 45

More Related Content

HTTP/2入門

Editor's Notes

  1. 代表の仕事は2種類 ・最後のスライド のこりのスライドはあまり・・・ CloudFront悪くはないけどEUがねーー^^;;
  2. POODLEの脆弱性を突くことで、攻撃者はSSL 3.0の設計を悪用して、セキュアHTTP cookieを含む機密情報の暗号を解読することができる
  3. アプリとサーバ間の通信はセキュアにしろ(推奨)
  4. サイズもリクエスト数も増加 サイズが増えるなら帯域を増やせばいいのか? http://httparchive.org/trends.php?s=All&minlabel=Dec+16+2010&maxlabel=Aug+1+2015#bytesTotal&reqTotal
  5. http://www.slideshare.net/shigeki_ohtsu/http2-quic 物理的、予算的な制限もあるから難し
  6. docs.google.com/presentation/d/1r7QXGYOLCh4fcUq0jDdDwKJWNqWK1o4xMtYpKZCJYjM/present?slide=id.g518e3c87f_2_0
  7. http://www.slideshare.net/shigeki_ohtsu/http2-quic 物理的な制限もあるから難しい dk
  8. Internet Trend 2014より
  9. Internet Trend 2015 モバイルアクセスの増加
  10. http://www.itmedia.co.jp/mobile/articles/1205/07/news065_2.html 遅延(RTT)が大きすぎる
  11. http://caniuse.com/#feat=http2
  12. http://gs.statcounter.com/#browser-JP-monthly-201411-201511
  13. https://webrage.jp/mobile/data/pc_browser_share.html
  14. http://gs.statcounter.com/#mobile_browser-JP-monthly-201411-201511
  15. https://developer.apple.com/support/app-store/
  16. ApacheもnginxもCentOSのパッケージはない
  17. https://http2.redbox.ne.jp/?cid=blogredbox
  18. Mobileでの差が大きすぎる auが腐っている? HTTP/2の恩恵
  19. 即時対応すべき
  20. PHP7
  21. けっこういじってある。
  22. HTTP/1.1でのアクセスになっている 1.14倍
  23. 今日は帽子は置かない