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
2k
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.1k
カンムにおけるプロダクトセキュリティのこれまでとこれから
summerwind
1
2.6k
Sharing test cases of internet protocols with Go and OCI Artifacts
summerwind
0
940
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.7k
Managing Kubernetes manifests with Spruce
summerwind
2
4.1k
Understanding HTTP/2 prioritization
summerwind
16
6.1k
HTTP/2 Deep Dive: Priority & Server Push
summerwind
17
3.4k
Other Decks in Technology
See All in Technology
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
660
アジャイルでの品質の進化 Agile in Motion vol.1/20241118 Hiroyuki Sato
shift_evolve
0
170
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
The Role of Developer Relations in AI Product Success.
giftojabu1
0
140
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
100
Application Development WG Intro at AppDeveloperCon
salaboy
0
190
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
0
130
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
130
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
510
Engineer Career Talk
lycorp_recruit_jp
0
190
Featured
See All Featured
Happy Clients
brianwarren
98
6.7k
Ruby is Unlike a Banana
tanoku
97
11k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Code Reviewing Like a Champion
maltzj
520
39k
A Tale of Four Properties
chriscoyier
156
23k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Navigating Team Friction
lara
183
14k
Designing the Hi-DPI Web
ddemaree
280
34k
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 :-)