58
WHY HTTP/2 ? WHY IS SO COOL ? QUENTIN ADAM AT @ WAXZCE 2013

HTTP/2 : why upgrading the web? - apidays Paris

Embed Size (px)

DESCRIPTION

Why HTTP/2 will enhance the web

Citation preview

Page 1: HTTP/2 : why upgrading the web? - apidays Paris

WHY HTTP/2 ?

WHY IS SO

COOL ?

QUENTIN ADAM AT

@WAXZCE

2013

Page 2: HTTP/2 : why upgrading the web? - apidays Paris

Quentin ADAM from the Clever Cloud

@waxzce on twitter – github- soundcloud – instagram ….

WHO AM I ?

Page 3: HTTP/2 : why upgrading the web? - apidays Paris

MY DAY TO DAY WORK :

CLEVER CLOUD, MAKE YOUR

APP RUN ALL THE TIME

Page 4: HTTP/2 : why upgrading the web? - apidays Paris

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…

Page 5: HTTP/2 : why upgrading the web? - apidays Paris

AND LEARN A LOT OF THINGS ABOUT

YOUR CODE, APPS, AND GOOD/BAD

DESIGN…

Page 6: HTTP/2 : why upgrading the web? - apidays Paris

WHAT IS THE HTTP JOB ?

Page 7: HTTP/2 : why upgrading the web? - apidays Paris
Page 8: HTTP/2 : why upgrading the web? - apidays Paris

THE SPEC IS MADE OF OPTIONS

AND ABILITY TO EXTENDS

Page 9: HTTP/2 : why upgrading the web? - apidays Paris

FASTER FASTER FASTER

Page 10: HTTP/2 : why upgrading the web? - apidays Paris

// REQUESTS ?

Page 11: HTTP/2 : why upgrading the web? - apidays Paris

HTTP PIPELINING

Page 12: HTTP/2 : why upgrading the web? - apidays Paris

THE HACKS WE

ARE DOING

EVERYDAY

WITHOUT

THINKING TO

IMPROVE

PERFORMANCES

Page 13: HTTP/2 : why upgrading the web? - apidays Paris

MULTIPLE DOMAIN NAMES FOR

MULTIPLES STREAMS

Page 14: HTTP/2 : why upgrading the web? - apidays Paris

STATIC ASSETS DOMAIN NAME FOR FAT

COOKIES PROBLEM MANAGEMENT

Page 15: HTTP/2 : why upgrading the web? - apidays Paris

COMET/WEBSOCKET/PULLING/SERVER

SENT ENVENT… BIDIRECTIONAL DATA

STREAMS HACKS

Page 16: HTTP/2 : why upgrading the web? - apidays Paris

SO, WE NEED A NEW VERSION OF HTTP

Page 17: HTTP/2 : why upgrading the web? - apidays Paris

WHO IS IN CHARGE ?

Page 18: HTTP/2 : why upgrading the web? - apidays Paris

HTTPBIS

WORKING

GROUP

Page 19: HTTP/2 : why upgrading the web? - apidays Paris

FIRST

HTTP/2

DRAFT IS

SPDY/3

DRAFT

Page 20: HTTP/2 : why upgrading the web? - apidays Paris

BUILD ON SOMETHING

Page 21: HTTP/2 : why upgrading the web? - apidays Paris

SO WHAT IS IN THE BOX ?

Page 22: HTTP/2 : why upgrading the web? - apidays Paris

HTTP/2 IS A BINARY

PROTOCOL

Page 23: HTTP/2 : why upgrading the web? - apidays Paris

COMPRESSION + SSL UNABLE

TO READ ANYTHING

Page 24: HTTP/2 : why upgrading the web? - apidays Paris

WIRESHARK FOR ALL

Page 25: HTTP/2 : why upgrading the web? - apidays Paris

PUT SOME STEAMS IN ONE

CONNECTION

Page 26: HTTP/2 : why upgrading the web? - apidays Paris

STREAMS

~ 1 HTTP/1 REQUEST = 1 HTTP/2 STREAM

Page 27: HTTP/2 : why upgrading the web? - apidays Paris

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

Page 28: HTTP/2 : why upgrading the web? - apidays Paris

BINARY GOODNESS =>

FRAMES IS EASY

Page 29: HTTP/2 : why upgrading the web? - apidays Paris

STREAMS PRIORITY

Page 30: HTTP/2 : why upgrading the web? - apidays Paris

PUSH FROM THE SERVER A RESOURCE

TO THE CACHE

Page 31: HTTP/2 : why upgrading the web? - apidays Paris

HEADERS

COMPRESSIONS

Page 32: HTTP/2 : why upgrading the web? - apidays Paris

HPACK

*new RFC*

Page 33: HTTP/2 : why upgrading the web? - apidays Paris

FOCUS ON WEB

PERFORMANCES

Page 34: HTTP/2 : why upgrading the web? - apidays Paris

URL

CANNOT

CHANGE

Page 35: HTTP/2 : why upgrading the web? - apidays Paris

HOW TO UPDATE THE

WEB ?

Page 36: HTTP/2 : why upgrading the web? - apidays Paris

HTTP

&

HTTPS

Page 37: HTTP/2 : why upgrading the web? - apidays Paris

NEGOCIATE

A

PROTOCOL

ELEVATION

Page 38: HTTP/2 : why upgrading the web? - apidays Paris

HTTP/1 BUILD IN METHOD

Upgrade: header

Code 101 Switching

Page 39: HTTP/2 : why upgrading the web? - apidays Paris

WORKFLOW

Page 40: HTTP/2 : why upgrading the web? - apidays Paris

WORKFLOW

Page 41: HTTP/2 : why upgrading the web? - apidays Paris

IT’S STILL SLOW

Page 42: HTTP/2 : why upgrading the web? - apidays Paris

ENCRYPT

THE WEB :

TLS

Page 43: HTTP/2 : why upgrading the web? - apidays Paris

NEGOTIATE THE PROTOCOL IN

THE SAME TIME OF ENCRYPT

NEGOTIATION

Page 44: HTTP/2 : why upgrading the web? - apidays Paris

NPN (CLIENT)

&

ALPN (SERVER)

Page 45: HTTP/2 : why upgrading the web? - apidays Paris

IS IT FOR

REAL?

Page 46: HTTP/2 : why upgrading the web? - apidays Paris

LOOKS LIKE

IP V6

STORY?

Page 47: HTTP/2 : why upgrading the web? - apidays Paris

MORE SPDY STORY

Page 48: HTTP/2 : why upgrading the web? - apidays Paris

DRAFT – 14 / 15

- Firefox (next enable by default)

- Chrome (dev)

- cURL

- IE (oh yeah)

- …

- Google

- Twitter

- Akamai

- ….

Page 49: HTTP/2 : why upgrading the web? - apidays Paris

DRAFT – 14 / 15

Page 50: HTTP/2 : why upgrading the web? - apidays Paris

CLEVER CLOUD POV

Page 51: HTTP/2 : why upgrading the web? - apidays Paris

WORKING ON THIS

Client http2

reverse proxy http2

your app : http1

Page 52: HTTP/2 : why upgrading the web? - apidays Paris

ALL THE

GOODNESS OF

HTTP2 IN

YOUR HTTP1

APP FOR

NOTHING :-)

Page 53: HTTP/2 : why upgrading the web? - apidays Paris

WHY IT’S

SO COOL?

Page 54: HTTP/2 : why upgrading the web? - apidays Paris

PERFORMANCES

Page 55: HTTP/2 : why upgrading the web? - apidays Paris

REMOVE ALL THE SHITTY

HACKS

Page 56: HTTP/2 : why upgrading the web? - apidays Paris

EXPLORE NEW POSSIBILITIES

Page 57: HTTP/2 : why upgrading the web? - apidays Paris

IMPROVE THE USERS XP

Page 58: HTTP/2 : why upgrading the web? - apidays Paris

I’m @waxzce on twitter

I’m the CEO of

A PaaS provider, give it a try

;-)

THX FOR LISTENING

& QUESTIONS TIME