Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
HTTP/2.0 入門
Search
tsuyoshi nakamura
September 30, 2016
Science
0
640
HTTP/2.0 入門
HTTP/2.0 入門
tsuyoshi nakamura
September 30, 2016
Tweet
Share
More Decks by tsuyoshi nakamura
See All by tsuyoshi nakamura
社内の勉強会で発表した_output_一部抜粋版_.pdf
tsuyoshi
0
440
PHPを少しでも早く_条件はあるよ_.pdf
tsuyoshi
0
52
スタートアップ6年目のレビュー文化.pdf
tsuyoshi
1
1.8k
PHPを少し深堀るよ.pdf
tsuyoshi
0
320
Reactive_Manifesto.pdf
tsuyoshi
0
45
About_Resilience.pdf
tsuyoshi
1
63
エンジニアの循環ってgood_or_bad_.pdf
tsuyoshi
0
1.2k
スタートアップしてからの失敗の数々
tsuyoshi
0
2.3k
スタートアップエンジニアの役割
tsuyoshi
0
480
Other Decks in Science
See All in Science
01_篠原弘道_SIPガバニングボード座長_ポスコロSIPへの期待.pdf
sip3ristex
0
220
How were Quaternion discovered
kinakomoti321
2
1.2k
重複排除・高速バックアップ・ランサムウェア対策 三拍子そろったExaGrid × Veeam連携セミナー
climbteam
0
200
観察研究における因果推論
nearme_tech
PRO
1
160
butterfly_effect/butterfly_effect_in-house
florets1
1
150
科学で迫る勝敗の法則(名城大学公開講座.2024年10月) / The principle of victory discovered by science (Open lecture in Meijo Univ. 2024)
konakalab
0
280
位相的データ解析とその応用例
brainpadpr
1
1k
ガウス過程回帰とベイズ最適化
nearme_tech
PRO
1
200
ACL読み会2024@名大 REANO: Optimising Retrieval-Augmented Reader Models through Knowledge Graph Generation
takuma_matsubara
0
160
眼科AIコンテスト2024_特別賞_6位Solution
pon0matsu
0
290
トラブルがあったコンペに学ぶデータ分析
tereka114
2
1.4k
大規模言語モデルの開発
chokkan
PRO
85
44k
Featured
See All Featured
Optimizing for Happiness
mojombo
377
70k
GitHub's CSS Performance
jonrohan
1030
460k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
Designing for Performance
lara
605
68k
How GitHub (no longer) Works
holman
314
140k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Transcript
2016.09-30 社内勉強会 @nakamura_tsuyo4 HTTP/2 入門
Agenda HTTP/2の内容を見る HTTPの歴史 対応状況 考察 関連情報
History About HTTP 1
History 1996 HTTP/1.0 1991 HTTP/0.9 1999 HTTP/1.1 2015 HTTP/2.0
History 2009年 GoogleからSPDY ◦ SPDY/1 ◦ SPDY/2 ◦ SPDY/3 ◦
SPDY/3.1
SPDYの進化版でHTTP/2の開発 ◦ IETFのHTTPBisのワーキンググルー プが進める ◦ RFC7540としてRFC化 History
HTTPBis Bisってなに... 小ネタ
HTTPBis Bisはラテン語系(french,spanish,)で「繰り返し」 「再び」という意味がある HTTPのsecond version of protocol
ブラウザとWebサーバの 実装によって実現 だからRFCやらIETFというwordがでてくる
HTTP/2 2
About HTTP/2 http://blog.redbox.ne.jp/http2-cdn.html ストリームの多重化
About HTTP/2 ストリームの優先度 ◦ Dependency Weighting ◦ PRIORITY Frame ◦
ブラウザが更新
About HTTP/2 headerの圧縮 ◦ HPACK (RFC7541) ◦ ネットワーク帯域の節約
About HTTP/2 フローの制御 ◦ Stream毎に制御可能 ▫ ひとつのストリームが帯域リソースの占有を防ぐ ▫ 重い動画や画像のダウンロード時にとか
About HTTP/2 サーバプッシュ http://codezine.jp/article/detail/8663?p=2
About HTTP/2 接続 -だいたいALPN- ◦ ALPN ▫ Application-Layer Protocol Negotiation
▫ サーバ側がプロトコルを選択 ◦ NPN ▫ Next Protocol Negotiation ▫ クライアントがプロトコルを選択
Correspondence table Browser and Server 3
対応状況 -ブラウザ- ブラウザ 対応バージョン Chrome 42以上 Firefox 38以上 IE Windows
10上のInternet Explorer 11 ※2016.09.29時点mac chromeの最新は53 ※検索するとほとんどのモダンブラウザであれば対応済みと考えて良さそう ※どのブラウザもTLS拡張(ALPN)が必要
対応状況 -サーバ- サーバ 対応バージョン Nginx 1.9.5以上 Apache 2.4系以上 Tomcat 9以上
※TLS拡張にはOpenSSLの1.0.2が必要
考察 4
効果が薄いパターン ◦ すでに複数ドメインで運用しているサイト ◦ リクエスト数少ないサイト ◦ HTTPSを使ってないサイト
効果が高いパターン ◦ 通信回線が弱いユーザ(mobile含む) ▫ 逆に回線の良いユーザには体感しづらい ◦ そもそもアクセスがおおいサイト ◦ 動画や重い画像を扱ってるサイト ◦
すでにCDNを使っててもCDN屋さんでHTTP2対応さ れてるので活用メリットはある ▫ https://http2.akamai.com/demo ◦ GoogleBotもHTTP2をサポートするらしいのでSEOで プラス効果が期待出来る
関連情報 4
その他 Googleはすでに次の仕様策定中の様子 ▫ QUIC ▫ UDPプロトコルも活用して高速化を目指す HTTP/2 and SPDY indicator
▫ Chrome extension http://www.rfc-editor.org/rfc/rfc7540.txt ▫ 原文