Top Banner
Simone Bordet [email protected] HTTP 2.0 Why, How and When
19
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: HTTP 2.0 Why, How and When

Simone [email protected]

HTTP 2.0Why, How and When

Page 2: HTTP 2.0 Why, How and When

Simone [email protected]

Who Am I

Simone Bordet [email protected] - @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

Page 3: HTTP 2.0 Why, How and When

Simone [email protected]

HTTP 2.0: Why

Page 4: HTTP 2.0 Why, How and When

Simone [email protected]

HTTP 2.0 Why

http://w3c.org ~ 1996 1 HTML file, 600 bytes

Page 5: HTTP 2.0 Why, How and When

Simone [email protected]

HTTP 2.0 Why

http://w3c.org ~ 2014 39 resources, 347 KiB ~ 1 HTML, 4 CSS, 2 JS, 32 images

Page 6: HTTP 2.0 Why, How and When

Simone [email protected]

HTTP 2.0 Why

http://cnn.com ~ 2014 108 resources, 2.9 MiB ~ 9 HTML, 1 CSS, 15 JS, 83 imgs

Page 7: HTTP 2.0 Why, How and When

Simone [email protected]

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

Page 8: HTTP 2.0 Why, How and When

Simone [email protected]

HTTP 2.0: Why

Servers want to be

REALLY

FAST

Page 9: HTTP 2.0 Why, How and When

Simone [email protected]

HTTP 2.0: Why

Better HTTP

means

MORE MONEY

Page 10: HTTP 2.0 Why, How and When

Simone [email protected]

HTTP 2.0: How

Page 11: HTTP 2.0 Why, How and When

Simone [email protected]

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

Page 12: HTTP 2.0 Why, How and When

Simone [email protected]

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

Page 13: HTTP 2.0 Why, How and When

Simone [email protected]

HTTP 2.0: How

index.html

style.cssapplication.js

image1.png

PushCache

index.htmlappliction.jsstyle.cssImage1.png

HTTP/1.1

HTTP/2.0 + PUSH

Page 14: HTTP 2.0 Why, How and When

Simone [email protected]

HTTP 2.0: When

Page 15: HTTP 2.0 Why, How and When

Simone [email protected]

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) Firefox 34 Chrome 38 Internet Explorer 11

It's already there Twitter, Google, major websites Our own https://webtide.com

Page 16: HTTP 2.0 Why, How and When

Simone [email protected]

HTTP 2.0 When

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

Page 17: HTTP 2.0 Why, How and When

Simone [email protected]

HTTP 2.0: Conclusions

Page 18: HTTP 2.0 Why, How and When

Simone [email protected]

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

Jetty 9.3

Upgrade network infrastructure (e.g. load balancers)

Page 19: HTTP 2.0 Why, How and When

Simone [email protected]

Questions&

Answers