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
2.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
HTTP/2 Server Push Considered Harmful
Moto Ishizawa
April 14, 2015
More Decks by Moto Ishizawa
See All by Moto Ishizawa
LLM エージェントを使った実験
summerwind
0
1.4k
カンムにおけるプロダクトセキュリティのこれまでとこれから
summerwind
1
3.1k
Sharing test cases of internet protocols with Go and OCI Artifacts
summerwind
0
1.3k
Using Thanos as a long-term storage for your Prometheus metrics
summerwind
1
13k
Using Kubernetes as a datastore for SPIRE
summerwind
1
1.2k
Whitebox Controller
summerwind
5
1.9k
Managing Kubernetes manifests with Spruce
summerwind
2
4.6k
Understanding HTTP/2 prioritization
summerwind
16
6.5k
HTTP/2 Deep Dive: Priority & Server Push
summerwind
17
3.7k
Other Decks in Technology
See All in Technology
【GCC2026】TrueHDRIを用いたルックデブ環境とライティングテクニック
bandainamcostudios
PRO
0
280
現場回帰したデータエンジニアが考える AI 時代のキャリア開発 / Career Development in the Age of AI Perspectives from a Hands-on Data Engineer
medley
0
310
属人化を叩き割れ!「制作加速」と「安定化」の矛盾を打破する:8年目プロダクトが辿り着いた「ミスが起こり得ない」アセット制作フローの全貌
gree_tech
PRO
0
290
:syncing_time:
sksat
2
480
関東Kaggler会発表資料
takoi
1
280
地震情報アプリを作ってみた
yama3133
1
110
型落ちシンクライアント端末のPoEモジュールを自作したかった話
logica0419
0
330
AI時代に、人は何を、どう学ぶのか #pbl_pub / What and How Do We Learn in the AI Era?
takaking22
1
240
Genie Codeハンズオン応用編
taka_aki
0
140
コネクションをピン留めさせずに SELECTクエリのタイムアウトを設定した話
codmoninc
0
210
AIで変わるエンジニアの働き方(仮)
naoinaoi
0
450
AIにブラウザを触らせて、E2EテストをPlaywrightで書く
koji_kawamura
0
370
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
66
57k
How STYLIGHT went responsive
nonsquared
100
6.2k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
280
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
440
We Have a Design System, Now What?
morganepeng
55
8.3k
A better future with KSS
kneath
240
18k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
660
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
800
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
500
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
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 :-)