Slide 1

Slide 1 text

2016.09-30 社内勉強会 @nakamura_tsuyo4 HTTP/2 入門

Slide 2

Slide 2 text

Agenda HTTP/2の内容を見る HTTPの歴史 対応状況 考察 関連情報

Slide 3

Slide 3 text

History About HTTP 1

Slide 4

Slide 4 text

History 1996 HTTP/1.0 1991 HTTP/0.9 1999 HTTP/1.1 2015 HTTP/2.0

Slide 5

Slide 5 text

History 2009年 GoogleからSPDY ◦ SPDY/1 ◦ SPDY/2 ◦ SPDY/3 ◦ SPDY/3.1

Slide 6

Slide 6 text

SPDYの進化版でHTTP/2の開発 ◦ IETFのHTTPBisのワーキンググルー プが進める ◦ RFC7540としてRFC化 History

Slide 7

Slide 7 text

HTTPBis Bisってなに... 小ネタ

Slide 8

Slide 8 text

HTTPBis Bisはラテン語系(french,spanish,)で「繰り返し」 「再び」という意味がある HTTPのsecond version of protocol

Slide 9

Slide 9 text

ブラウザとWebサーバの 実装によって実現 だからRFCやらIETFというwordがでてくる

Slide 10

Slide 10 text

HTTP/2 2

Slide 11

Slide 11 text

About HTTP/2 http://blog.redbox.ne.jp/http2-cdn.html ストリームの多重化

Slide 12

Slide 12 text

About HTTP/2 ストリームの優先度 ◦ Dependency Weighting ◦ PRIORITY Frame ◦ ブラウザが更新

Slide 13

Slide 13 text

About HTTP/2 headerの圧縮 ◦ HPACK (RFC7541) ◦ ネットワーク帯域の節約

Slide 14

Slide 14 text

About HTTP/2 フローの制御 ◦ Stream毎に制御可能 ▫ ひとつのストリームが帯域リソースの占有を防ぐ ▫ 重い動画や画像のダウンロード時にとか

Slide 15

Slide 15 text

About HTTP/2 サーバプッシュ http://codezine.jp/article/detail/8663?p=2

Slide 16

Slide 16 text

About HTTP/2 接続 -だいたいALPN- ◦ ALPN ▫ Application-Layer Protocol Negotiation ▫ サーバ側がプロトコルを選択 ◦ NPN ▫ Next Protocol Negotiation ▫ クライアントがプロトコルを選択

Slide 17

Slide 17 text

Correspondence table Browser and Server 3

Slide 18

Slide 18 text

対応状況 -ブラウザ- ブラウザ 対応バージョン Chrome 42以上 Firefox 38以上 IE Windows 10上のInternet Explorer 11 ※2016.09.29時点mac chromeの最新は53 ※検索するとほとんどのモダンブラウザであれば対応済みと考えて良さそう ※どのブラウザもTLS拡張(ALPN)が必要

Slide 19

Slide 19 text

対応状況 -サーバ- サーバ 対応バージョン Nginx 1.9.5以上 Apache 2.4系以上 Tomcat 9以上 ※TLS拡張にはOpenSSLの1.0.2が必要

Slide 20

Slide 20 text

考察 4

Slide 21

Slide 21 text

効果が薄いパターン ◦ すでに複数ドメインで運用しているサイト ◦ リクエスト数少ないサイト ◦ HTTPSを使ってないサイト

Slide 22

Slide 22 text

効果が高いパターン ◦ 通信回線が弱いユーザ(mobile含む) ▫ 逆に回線の良いユーザには体感しづらい ◦ そもそもアクセスがおおいサイト ◦ 動画や重い画像を扱ってるサイト ◦ すでにCDNを使っててもCDN屋さんでHTTP2対応さ れてるので活用メリットはある ▫ https://http2.akamai.com/demo ◦ GoogleBotもHTTP2をサポートするらしいのでSEOで プラス効果が期待出来る

Slide 23

Slide 23 text

関連情報 4

Slide 24

Slide 24 text

その他 Googleはすでに次の仕様策定中の様子 ▫ QUIC ▫ UDPプロトコルも活用して高速化を目指す HTTP/2 and SPDY indicator ▫ Chrome extension http://www.rfc-editor.org/rfc/rfc7540.txt ▫ 原文