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 Server Push Considered Harmful
Search
Moto Ishizawa
April 14, 2015
Technology
1
2.1k
HTTP/2 Server Push Considered Harmful
Moto Ishizawa
April 14, 2015
Tweet
Share
More Decks by Moto Ishizawa
See All by Moto Ishizawa
LLM エージェントを使った実験
summerwind
0
1.2k
カンムにおけるプロダクトセキュリティのこれまでとこれから
summerwind
1
2.7k
Sharing test cases of internet protocols with Go and OCI Artifacts
summerwind
0
1k
Using Thanos as a long-term storage for your Prometheus metrics
summerwind
1
12k
Using Kubernetes as a datastore for SPIRE
summerwind
1
1.1k
Whitebox Controller
summerwind
5
1.8k
Managing Kubernetes manifests with Spruce
summerwind
2
4.2k
Understanding HTTP/2 prioritization
summerwind
16
6.2k
HTTP/2 Deep Dive: Priority & Server Push
summerwind
17
3.5k
Other Decks in Technology
See All in Technology
デザインシステムのレガシーコンポーネントを刷新した話/Design System Legacy Renewal
kaonavi
0
120
Tokyo dbt Meetup #13 dbtと連携するBI製品&機能ざっくり紹介
sagara
0
240
SRE NEXT CfP チームが語る 聞きたくなるプロポーザルとは / Proposals by the SRE NEXT CfP Team that are sure to be accepted
chaspy
1
150
AIエージェントキャッチアップと論文リサーチ
os1ma
6
1.3k
Restarting_SRE_Road_to_SRENext_.pdf
_awache
1
210
コドモンのQAの今までとこれから -XPによる成長と見えてきた課題-
masasuna
0
140
ペアプログラミングにQAが加わった!職能を超えたモブプログラミングの事例と学び
tonionagauzzi
1
150
バックエンド留学した話/Backend study abroad story
kaonavi
0
120
MCP Documentation Server @AI Coding Meetup #1
yyoshiki41
1
1.2k
コンソールで学ぶ!AWS CodePipelineの機能とオプション
umekou
3
130
SSH公開鍵認証による接続 / Connecting with SSH Public Key Authentication
kaityo256
PRO
2
250
小さく始めるDevOps 内製化支援から見えたDevOpsの始め方 / 20250317 Ken Takayanagi
shift_evolve
1
120
Featured
See All Featured
How to Ace a Technical Interview
jacobian
276
23k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
7
620
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
51
2.4k
It's Worth the Effort
3n
184
28k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
Why Our Code Smells
bkeepers
PRO
336
57k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Rails Girls Zürich Keynote
gr2m
94
13k
Designing for humans not robots
tammielis
251
25k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
31
4.8k
Transcript
HTTP/2 Server Push ʹؔ͢ΔҰߟ
Moto Ishizawa (@summerwind)
Ծઆ HTTP/2 ͷ Server Push Λͬͯɺ Above the fold ͷϦιʔεΛϓογϡͨ͠Β
ϨϯμϦϯά͕͘ͳΔͷͰʁ
ݕূϖʔδ
ςετڥ αʔόʔ • CentOS 7.0 • H2O (1.1.2-alpha1) • Nginx
(1.7.11) ΫϥΠΞϯτ • Chrome Canary (44.0.2364.0) ωοτϫʔΫ • Uplink delay: 100ms • Downlink delay: 100ms
HTTP/2 ը૾ͷಡΈࠐΈ͔֬ʹ͘ͳ͍ͬͯΔ Above the fold ͷϦιʔεΛαʔόʔϓογϡ͢Δ HTTP/2 (Pushed above the
fold)
HTTP/2 JS ͕ϨϯμϦϯάΛϒϩοΫ͍ͯ͠Δ Above the fold ͷϦιʔεΛαʔόʔϓογϡ͢Δ HTTP/2 (Pushed above
the fold)
HTTP/2 DOM ߏஙλΠϛϯά͕վળ JavaScript Λαʔόʔϓογϡ͢Δ HTTP/2 (Pushed JavaScript)
HTTP/2 CSS ͕ϨϯμϦϯάΛϒϩοΫ͍ͯ͠Δ JavaScript Λαʔόʔϓογϡ͢Δ HTTP/2 (Pushed JavaScript)
HTTP/2 (Pushed CSS & JavaScript) DOM ߏஙλΠϛϯά͕͞Βʹվળ CSS ͱ JavaScript
Λαʔόʔϓογϡ͢Δ HTTP/2
HTTP/2 (Pushed CSS & JavaScript & Above the fold) ͋Εɺվળ͞Ε͍ͯͳ͍…
શ෦αʔόʔϓογϡ͢Δ HTTP/2
HTTP/2 (Pushed CSS & JavaScript & Above the fold) ͦͦ
Chrome ͕ࢦఆ͢Δ Priority ͕ߟྀ͞Ε͍ͯͳ͍…? શ෦αʔόʔϓογϡ͢Δ HTTP/2
HTTP/1.1 HTTP/2 vs HTTP/1.1 HTTP/2 HTTP/1.1 ͷํ͕ DOM ߏஙλΠϛϯά͕͍
nghttpx H2O vs nghttpx H2O ϓογϡ͠ͳͯ͘ DOM ͷߏஙλΠϛϯά͕͍
nghttpx H2O vs nghttpx H2O CSSɺJavaScriptɺը૾ͷॱ൪ʹసૹ͞Ε͍ͯΔ
nghttpx nghttpx Ͱ Above the fold ͷϦιʔεΛαʔόʔϓογϡ͢Δ Ұ൪࠷ޙʹαʔόʔϓογϡͷ͕సૹ͞Ε͍ͯΔ nghttpx (Pushed
Above the fold)
·ͱΊ • Above the fold ͷϦιʔεΛϓογϡͯ͘͠ͳΒͳ͍ • ϒϥβ૬खͷ߹ϨϯμϦϯάͷ͜ͱΛߟྀͯ͋͛͠Δඞཁ͕͋Δ • HTTP/2
Ͱαʔόʔͷ࣮࣍ୈͰɺϨϯμϦϯάύϑΥʔϚϯεมΘͬͯ͘Δ • nghttp2 ͷεέδϡʔϥʔϒϥβͱ૬ੑ͕ྑ͍ • H2O ͷεέδϡʔϥʔվળͷ༨͕͋Δ͔ • ͳΜͰαʔόʔϓογϡ͢Ε͘ͳΔɺͱ͍͏ͷͰͳ͍ • ϞόΠϧΞϓϦͱ Web API ͷΈ߹Θͤͷ߹ͬͱΧδϡΞϧʹ͑ͦ͏
Thank you :-)