To push, or not to push?! A journey of resource loading in the browser
Fastly
Fastly
Why?
“HTTP/2 will solve this” – Everybody
Resource loading in the browser is hard.
Resource loading is hard
How can we load our resources most efficiently?
What are my critical resources?
A good loading strategy
Preload
What are my hidden sub-resources?
Preload
How can I use Prelaod?
FT.com waterfall before
FT.com waterfall after
Are indicating resource hints via the HTML response too late?
Server Push
So how can I push?
Is indicating push via the HTML response too late?
Async push
Before / After
What about the repeat view?
Before / After
PRPL Pattern
The server has no knowledge of client cache state.
So what’s the problem?
Push cache semantics
HTTP/2 push is tougher than I thought
HTTP/2 Server Push - Browser inconsistencies
When should I push?
The future
Can we fix the problems with push?
Cache digests
Before / After
This still seems too complicated…
103 Early hints
IETF RFC8297 Early Hints - K. Oku https://tools.ietf.org/html/rfc8297
103 Early hints benefits
Priority hints
Closing
HTTP/2 doesn’t solve everything
Resource loading is hard.
Performance is for humans. Optimise for user experiences.
Resource loading checklist:
Gracias!