HTTP 2.0 
Why, How and When 
Simone Bordet 
sbordet@intalio.com
Who Am I 
Simone Bordet 
sbordet@intalio.com 
Simone Bordet 
 sbordet@intalio.com - @simonebordet 
Lead Architect at Intalio/Webtide 
 Jetty's HTTP/2, SPDY and HTTP client maintainer 
Open Source Contributor 
 Jetty, CometD, MX4J, Foxtrot, LiveTribe, JBoss, Larex 
CometD project leader 
 Web messaging framework 
JVM tuning expert
HTTP 2.0: Why 
Simone Bordet 
sbordet@intalio.com
HTTP 2.0 Why 
http://w3c.org ~ 1996 
 1 HTML file, 600 bytes 
Simone Bordet 
sbordet@intalio.com
HTTP 2.0 Why 
http://w3c.org ~ 2014 
 39 resources, 347 KiB ~ 1 HTML, 4 CSS, 2 JS, 32 images 
Simone Bordet 
sbordet@intalio.com
HTTP 2.0 Why 
http://cnn.com ~ 2014 
 108 resources, 2.9 MiB ~ 9 HTML, 1 CSS, 15 JS, 83 imgs 
Simone Bordet 
sbordet@intalio.com
HTTP 2.0 Why 
The Web EXPLODED ! 
HTTP 1.1 is an old protocol 
 Extremely inefficient 
 No multiplexing, no resource correlation 
Web developers hacking around limitations 
 Domain sharding, resource inlining, image spriting, etc. 
Browser vendors want to make browsers FAST 
 Break HTTP 1.1 recommendations 
Simone Bordet 
sbordet@intalio.com
HTTP 2.0: Why 
Servers want to be 
REALLY 
FAST 
Simone Bordet 
sbordet@intalio.com
HTTP 2.0: Why 
Better HTTP 
means 
MORE MONEY 
Simone Bordet 
sbordet@intalio.com
HTTP 2.0: How 
Simone Bordet 
sbordet@intalio.com
HTTP 2.0 How 
HTTP 2.0: Binary protocol 
 Based on the SPDY protocol (Google's experiment) 
 Efficient to parse and generate 
HTTP 2.0: TLS everywhere 
 Usage of TLS (SSL) is a MUST 
 Very strict subset of strong ciphers 
 Transparent proxy problem 
HTTP 2.0: Multiplexed 
 No more domain sharding and spriting hacks needed 
Simone Bordet 
sbordet@intalio.com
HTTP 2.0 How 
HTTP 2.0: HTTP Headers compression 
 Optimized usage of network 
HTTP 2.0: Request Prioritazion 
 Resources may have a priority 
 Clients may even re-prioritize 
HTTP 2.0: Push of correlated HTTP resources 
 Less roundtrips to get all resources 
 Huge benefits in page rendering 
Simone Bordet 
sbordet@intalio.com
HTTP 2.0: How 
Simone Bordet 
sbordet@intalio.com 
index.html 
application.js 
style.css 
image1.png 
Push 
Cache 
index.html 
appliction.js 
style.css 
Image1.png 
HTTP/1.1 
HTTP/2.0 + PUSH
HTTP 2.0: When 
Simone Bordet 
sbordet@intalio.com
HTTP 2.0 When 
HTTP 2.0 Specification in “Last Call” 
 Probably a standard by February 2015 
Browsers already implement HTTP 2.0 (TLS only) 
Simone Bordet 
sbordet@intalio.com 
 Firefox 34 
 Chrome 38 
 Internet Explorer 11 
It's already there 
 Twitter, Google, major websites 
 Our own https://webtide.com
HTTP 2.0 When 
Simone Bordet 
sbordet@intalio.com 
cURL 
 Unix tools support for HTTP 2.0 
Servlet 4.0 will support HTTP 2.0 
 Not many API changes 
 New HTTP Push API 
JEP 110 (http://openjdk.java.net/jeps/110) 
 HTTP 2.0 Client proposal for JDK 9
HTTP 2.0: Conclusions 
Simone Bordet 
sbordet@intalio.com
HTTP 2.0 Conclusions 
Changes for Web Developers 
 Servlet API backward compatible 
 Frameworks (JSF) will be able to leverage HTTP Push 
 No more domain sharding / spriting hacks needed 
 JDK 9 updated to support HTTP 2.0 
Changes for Deployers (devops / sysops) 
 TLS everywhere 
 Upgrade your Servlet Container 
Simone Bordet 
sbordet@intalio.com 
 Jetty 9.3 
 Upgrade network infrastructure (e.g. load balancers)
Questions 
& 
Answers 
Simone Bordet 
sbordet@intalio.com

HTTP 2.0 Why, How and When

  • 1.
    HTTP 2.0 Why,How and When Simone Bordet sbordet@intalio.com
  • 2.
    Who Am I Simone Bordet sbordet@intalio.com Simone Bordet  sbordet@intalio.com - @simonebordet Lead Architect at Intalio/Webtide  Jetty's HTTP/2, SPDY and HTTP client maintainer Open Source Contributor  Jetty, CometD, MX4J, Foxtrot, LiveTribe, JBoss, Larex CometD project leader  Web messaging framework JVM tuning expert
  • 3.
    HTTP 2.0: Why Simone Bordet sbordet@intalio.com
  • 4.
    HTTP 2.0 Why http://w3c.org ~ 1996  1 HTML file, 600 bytes Simone Bordet sbordet@intalio.com
  • 5.
    HTTP 2.0 Why http://w3c.org ~ 2014  39 resources, 347 KiB ~ 1 HTML, 4 CSS, 2 JS, 32 images Simone Bordet sbordet@intalio.com
  • 6.
    HTTP 2.0 Why http://cnn.com ~ 2014  108 resources, 2.9 MiB ~ 9 HTML, 1 CSS, 15 JS, 83 imgs Simone Bordet sbordet@intalio.com
  • 7.
    HTTP 2.0 Why The Web EXPLODED ! HTTP 1.1 is an old protocol  Extremely inefficient  No multiplexing, no resource correlation Web developers hacking around limitations  Domain sharding, resource inlining, image spriting, etc. Browser vendors want to make browsers FAST  Break HTTP 1.1 recommendations Simone Bordet sbordet@intalio.com
  • 8.
    HTTP 2.0: Why Servers want to be REALLY FAST Simone Bordet sbordet@intalio.com
  • 9.
    HTTP 2.0: Why Better HTTP means MORE MONEY Simone Bordet sbordet@intalio.com
  • 10.
    HTTP 2.0: How Simone Bordet sbordet@intalio.com
  • 11.
    HTTP 2.0 How HTTP 2.0: Binary protocol  Based on the SPDY protocol (Google's experiment)  Efficient to parse and generate HTTP 2.0: TLS everywhere  Usage of TLS (SSL) is a MUST  Very strict subset of strong ciphers  Transparent proxy problem HTTP 2.0: Multiplexed  No more domain sharding and spriting hacks needed Simone Bordet sbordet@intalio.com
  • 12.
    HTTP 2.0 How HTTP 2.0: HTTP Headers compression  Optimized usage of network HTTP 2.0: Request Prioritazion  Resources may have a priority  Clients may even re-prioritize HTTP 2.0: Push of correlated HTTP resources  Less roundtrips to get all resources  Huge benefits in page rendering Simone Bordet sbordet@intalio.com
  • 13.
    HTTP 2.0: How Simone Bordet sbordet@intalio.com index.html application.js style.css image1.png Push Cache index.html appliction.js style.css Image1.png HTTP/1.1 HTTP/2.0 + PUSH
  • 14.
    HTTP 2.0: When Simone Bordet sbordet@intalio.com
  • 15.
    HTTP 2.0 When HTTP 2.0 Specification in “Last Call”  Probably a standard by February 2015 Browsers already implement HTTP 2.0 (TLS only) Simone Bordet sbordet@intalio.com  Firefox 34  Chrome 38  Internet Explorer 11 It's already there  Twitter, Google, major websites  Our own https://webtide.com
  • 16.
    HTTP 2.0 When Simone Bordet sbordet@intalio.com cURL  Unix tools support for HTTP 2.0 Servlet 4.0 will support HTTP 2.0  Not many API changes  New HTTP Push API JEP 110 (http://openjdk.java.net/jeps/110)  HTTP 2.0 Client proposal for JDK 9
  • 17.
    HTTP 2.0: Conclusions Simone Bordet sbordet@intalio.com
  • 18.
    HTTP 2.0 Conclusions Changes for Web Developers  Servlet API backward compatible  Frameworks (JSF) will be able to leverage HTTP Push  No more domain sharding / spriting hacks needed  JDK 9 updated to support HTTP 2.0 Changes for Deployers (devops / sysops)  TLS everywhere  Upgrade your Servlet Container Simone Bordet sbordet@intalio.com  Jetty 9.3  Upgrade network infrastructure (e.g. load balancers)
  • 19.
    Questions & Answers Simone Bordet sbordet@intalio.com