Upload
divarvel
View
252
Download
0
Tags:
Embed Size (px)
Citation preview
WHY HTTP/2 ?
WHY IS IT SO
COOL ?
CLEMENT DELAFARGUE
@CLEMENTD
2013
Clement DELAFARGUE from Clever Cloud
@clementd on twitter – @divarvel on github
WHO AM I ?
MY DAY TO DAY WORK :
CLEVER CLOUD, MAKE YOUR
APP RUN ALL THE TIME
And learn a lot of things about your code, apps, and good/bad design…
KEEP YOUR APPS ONLINE. MADE WITH
NODE.JS, SCALA, JAVA, RUBY, PHP,
PYTHON, GO…
AND LEARN A LOT OF THINGS ABOUT
YOUR CODE, APPS, AND GOOD/BAD
DESIGN…
WHAT’S THE JOB OF HTTP?
THE SPEC IS MADE TO BE
EXTENSIBLE
BUT THE INTERNET IS
EVOLVING
FASTER FASTER FASTER
// REQUESTS ?
KEEP-ALIVE?
HTTP PIPELINING
THE HACKS WE ARE
DOING EVERYDAY
WITHOUT
THINKING IN
ORDER TO IMPROVE
PERFORMANCES
MULTIPLE DOMAIN NAMES FOR
MULTIPLE STREAMS
STATIC ASSETS DOMAIN NAME FOR FAT
COOKIES PROBLEM MANAGEMENT
COMET/WEBSOCKET/PULLING/SERVER
SENT ENVENT… BIDIRECTIONAL DATA
STREAMS HACKS
SO, WE NEED A NEW VERSION OF HTTP
WHO IS IN CHARGE ?
HTTPBIS
WORKING
GROUP
FIRST
HTTP/2
DRAFT IS
SPDY/3
DRAFT
BUILD ON SOMETHING
EVERYBODY IS AT THE TABLE
SO WHAT IS IN THE BOX ?
HTTP/2 IS A BINARY
PROTOCOL
COMPRESSION + SSL UNABLE
TO READ ANYTHING
WIRESHARK FOR ALL
PUT SOME STEAMS IN ONE
CONNECTION
STREAMS
~ 1 HTTP/1 REQUEST = 1 HTTP/2 STREAM
STREAMS ARE BUILT
OF FRAMES
FRAMES
Content a.html #1
Content dog.gif #1
Content a.html #2
Content dog.gif #2
Content a.html #4
Content a.html #3
Content cat.gif #1
Content dog.gif #4
…
BASICALLY
connection
streams
frames
BINARY GOODNESS =>
FRAMING IS EASY
KILL MULTIPART $*%Ù£
FORMAT
PUSH FROM THE SERVER A RESOURCE
TO THE CACHE
STREAMS PRIORITY
HEADERS
COMPRESSIONS
HPACK
*new RFC*
HEADERS
PERSISTENCE
FOCUS ON WEB
PERFORMANCES
TRANSITION
URLS
CANNOT
CHANGE
HOW TO UPDATE THE
WEB ?
HTTP
&
HTTPS
NEGOTIATE
A
PROTOCOL
ELEVATION
HTTP/1 BUILD IN METHOD
Upgrade: header
Code 101 Switching
WORKFLOW
WORKFLOW
IT’S STILL SLOW
ENCRYPT
THE WEB :
TLS
NEGOTIATE
TLS
VERSION
AND
CIPHER…
NEGOTIATE THE PROTOCOL AT
THE SAME TIME AS THE
ENCRYPTION NEGOTIATION
NPN (CLIENT)
&
ALPN (SERVER)
IS IT FOR
REAL?
LOOKS LIKE
IP V6
STORY?
MORE SPDY STORY
DRAFT – 14 / 15
- Firefox
- Chrome
- cURL
- IE (oh yeah)
- …
- Akamai
- ….
BENCH
CLEVER CLOUD POV
WORKING ON THIS
Client http2
reverse proxy http2
your app : http1
ALL THE
GOODNESS OF
HTTP2 IN
YOUR HTTP1
APP FOR FREE
:-)
WHY IT’S
SO COOL?
PERFORMANCES
REMOVE ALL THE SHITTY
HACKS
EXPLORE NEW POSSIBILITIES
IMPROVE THE USERS XP
I’m @clementd on twitter
I’m the CTO of
A PaaS provider, give it a try
;-)
THX FOR LISTENING
& QUESTIONS TIME