Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Know thy buzzwords: HTTP/2
Search
Surma
July 13, 2017
Technology
600
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Know thy buzzwords: HTTP/2
Fullstack Conf 2017
Surma
July 13, 2017
More Decks by Surma
See All by Surma
Houdini Breakout Session
surma
4
720
Houdini – Demystifying CSS
surma
3
360
Progressive Web Apps – Mobile has natively come to the Web
surma
5
340
The Glorious Era of HTTP/2
surma
1
150
Instant Loading
surma
4
1.4k
HTTP/2 101
surma
5
550
What if there isn’t?
surma
0
120
What if there isn’t?
surma
2
220
The Web is a Contender
surma
0
180
Other Decks in Technology
See All in Technology
増え続けるプロダクトの品質をどう担保するか。ProductSpecとTypeScriptによる取り組み
joere
2
210
バイブコーディングの特徴と「コケて直す」ループ
happysamurai294
0
130
AIコーディングエージェント開発_全体像
happysamurai294
0
130
正解のない研修に放り出されて / Being thrown into a training program with no right answers
ohnoeight
1
170
外国人エンジニアがVueプロトタイプで仕様を合わせている話 / Vue Fes Japan 2026 LT
eluwing
0
310
クラウドエージェントの先駆け Devin。今も最先端を走る、他との違い
kinopeee
1
510
Vue で書く 空間コンピューティング、TresJS と WebXR を使ったXR デバイスのフロントエンド開発
hiranuma
0
130
Jev の中身は50行で再現できる。でも本物との差はどこにあるのか
hisuzuya
0
210
ひとりで始めた AI駆動開発、チームに広げて何が変わったのか
kenichiodo
1
160
AI駆動開発におけるハーネスエンジニアリングの勘所
tsukuboshi
1
870
AI時代、つくる力を自分たちの手に。 ──電通×KAG、アジャイルとAI駆動開発で挑む開発の変革
yuukiyo
3
430
E2Eってつらくないですか?E2Eの管理コストを下げる手段とその実践
akaboshinit
6
2.8k
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
800
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
For a Future-Friendly Web
brad_frost
184
11k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
560
sira's awesome portfolio website redesign presentation
elsirapls
0
480
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Building the Perfect Custom Keyboard
takai
2
930
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Skip the Path - Find Your Career Trail
mkilby
1
270
Transcript
@DasSurma Developer Advocate ✨HTTP/2✨ OMG so good
TL;DR: SWITCH!
HTTP/1.1 – Upgrade – HTTP/2.0 ✨HTTP/2✨
caniuse.com
None
History HTTP HTTP/0.9 HTTP/1.0 HTTP/1.1 SPDY/2 HTTP/2 1991 1996 1997
2012 2015
History HTTP HTTP/0.9 HTTP/1.0 HTTP/1.1 SPDY/2 HTTP/2 1991 1996 1997
2012 2015 bit.ly/surma-http2 Talk from CDS 2015
Head-of-Line Blocking aka one-resource-at-a-time syndrome
HTTP/1
HTTP/1
HTTP/1 200KB 4s
✨HTTP/2✨ Single TCP connection
http2.golang.org/gophertiles
h1 h2
Concatenation Inlining Bundling Spriting ? More later
Encryption
None
None
✨HTTP/2✨ TLS encrypted ? ?
✨HTTP/2✨ $0
certbot.eff.org
CDNs say bit.ly/surma-http2-performance-increase HTTP/2 is 20% faster (on avg)
h2 capable h2 enabled h2 unsupported 7,200 ms 5,325 ms
6,160 ms Time to mobile load event Sample is 1 month of data on https://next.ft.com 26%
HTTP/2 bit.ly/chromeblog-http2
But how? Setup? Testing? bit.ly/surma-http2-setup
What about local development?
None
None
What did I not talk about yet?
HPACK
HTTP/2 Push
RTT > Bandwidth
index.html styles.css webfont.css webfont.woff <link> @import @font-face 14K 1.4K 800B
12K Back-of-napkin math: Total data: 28.4K Data transfer time: 37ms # of RTTs: 4 Total time: 437ms
None
bit.ly/jake-push
bit.ly/jake-push TL;DR: – Massive inconsistencies between browsers – Not pushing
things that are already in the cache is a hard problem – Don’t even think about pushing anything but GET
bit.ly/jake-push Alternatives – Inlining for first-paint-critical resources – <link rel=“preload”>
for interactive-critical resources
Onemore thing about bundling bit.ly/sergio-bundling
TL;DR: SWITCH!
@DasSurma Developer Advocate ✨HTTP/2✨ OMG so good