What's up with http/2?
Byron Delpinal
A Brief History of the HTTP Protocol
HTTP/0.9 - 1991
HTTP/0.9 - 1991
- Original spec proposed by Tim Berners-Lee
HTTP/0.9 - 1991
- Original spec proposed by Tim Berners-Lee
- Served up a single HTML response
HTTP/0.9 - 1991
- Original spec proposed by Tim Berners-Lee
- Served up a single HTML response
- Still an available protocol with NGinx
HTTP/0.9 - 1991
http://chimera.labs.oreilly.com/books/1230000000545/ch09.html#_http_2_improving_transport_performance
HTTP/1.0 - 1996
HTTP/1.0 - 1996
- NOT official! It is an "Informative Spec"
HTTP/1.0 - 1996
- Added more files and headers
- NOT official! It is an "Informative Spec"
HTTP/1.0 - 1996
- Added more files and headers
- NOT official! It is an "Informative Spec"
- Created a new TCP connection per request
HTTP/1.0 - 1996
HTTP/1.1 - 1999
HTTP/1.1 - 1999
- The official "web standard"
HTTP/1.1 - 1999
- The official "web standard"
- Introduced "cookies"
HTTP/1.1 - 1999
- The official "web standard"
- Reusable TCP connections (Keep Alive)
- Introduced "cookies"
HTTP/1.1 - 1999
- Reusable TCP connections (Keep Alive)
HTTP/1.1 - 1999
- The official "web standard"
- Reusable TCP connections (Keep Alive)
- Introduced "cookies"
- Caching
- Chunking
- Byte Range Requests
HTTP/1.1 - 1999
HTTP/2
Feature additions, patterns, and performance benefits
HTTP/2 - Multiplexing
HTTP/2 - Multiplexing
https://www.cloudflare.com/http2/
HTTP/2 - multiplexing
- File concatenation
Current performance hack that this negates:
HTTP/2 - multiplexing
- Domain Sharding
Current performance hack that this negates:
HTTP/2 - multiplexing
HTTP/2 - Stream Prioritization
- Ability to prioritize CSS files
- Removes the need for inlining "Above the fold" content
- Increases "perceived performance" by adding the ability to bring in your presentational JS before function JS
HTTP/2 - server push
HTTP/2 - i can haz now?
HTTP/2 - i can haz now?
HTTP/2 - i can haz now?
Backward compatibility?
HTTP/2 - i can haz now?
Backward compatibility?
Yes!
HTTP/2 - i can haz now?
Akamai
CloudFlare
MaxCDN
KeyCDN
CDN77
HTTP/2 - conclusion
- HTTP/2 provides better performance while getting rid of the old hacks required to achieve such a thing.
- HTTP/2 is widely supported by modern browsers
- HTTP/2 is widely supported by most popular CDNs
- You should enable HTTP/2
thank you
Links to image sources, knowledge articles
- https://blog.cloudflare.com/http-2-for-web-developers/
- https://www.cloudflare.com/http2/
- http://chimera.labs.oreilly.com/books/1230000000545/ch09.html#HTTP_11
- https://www.igvita.com/2013/06/12/innovating-with-http-2.0-server-push/
What's up with HTTP/2
By byronddelpinal
What's up with HTTP/2
This is a lighting talk that I gave outlining a brief history of the HTTP protocol, and how it's changed into HTTP/2.
- 838