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

  1. HTTP/2 provides better performance while getting rid of the old hacks required to achieve such a thing.
  2. HTTP/2 is widely supported by modern browsers
  3. HTTP/2 is widely supported by most popular CDNs
  4. 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