際際滷

際際滷Share a Scribd company logo
HTTP/2
THE WEB OF FUTURE
/
Vahe Evoyan @evoyan
evoyan.org/http2-barcamp/
vahe-evoyan.github.io/http2-presentation/
WHO THE HECK IS THIS GUY?
10+ YEARS OF SW ENGINEERING
WORKS AT INSTIGATE MOBILE
ACTIVE MEMBER AND CO-LEADER AT OWASP ARMENIA
WHY HTTP/2?
IT'S ALL ABOUT PERFORMANCE
TCP INTRODUCTION
THREE-WAY HANDSHAKE
TCP SLOW START
HTTP 1.0
1995
HTTP 1.1
OPTIONS METHOD
ADVANCED CACHING
RANGE REQUESTS
COMPRESSION ALGORITHMS
PIPELINING
HOL BLOCKING
TOTAL TRANSFER SIZE AND TOTAL REQUESTS
2011 2012 2013 2014 2015
600
800
1,000
1,200
1,400
1,600
1,800
2,000
2,200
76
78
80
82
84
86
88
90
92
94
96
98
100
JSchartbyamCharts
WORKAROUNDS
SPRITING
INLINING
CSS
l
i {
b
a
c
k
g
r
o
u
n
d
:
u
r
l
(
d
a
t
a
:
i
m
a
g
e
/
g
i
f
;
b
a
s
e
6
4
,
R
0
l
G
O
D
l
h
E
A
A
Q
A
M
Q
A
A
O
R
H
H
O
V
S
K
u
d
f
O
u
l
r
S
O
p
3
W
O
y
D
Z
u
6
Q
d
v
C
c
h
P
G
n
o
-
r
e
p
e
a
t
l
e
f
t c
e
n
t
e
r
;
p
a
d
d
i
n
g
: 5
p
x 0 5
p
x 2
5
p
x
;
}
HTML
<
i
m
g w
i
d
t
h
=
"
1
6
" h
e
i
g
h
t
=
"
1
6
" s
r
c
=
"
d
a
t
a
:
i
m
a
g
e
/
g
i
f
;
b
a
s
e
6
4
,
R
0
l
G
O
D
l
h
E
A
A
Q
A
M
Q
A
A
O
R
H
H
O
V
S
K
u
CONCATENATION
/
*
! j
Q
u
e
r
y v
2
.
1
.
4 | (
c
) 2
0
0
5
, 2
0
1
5 j
Q
u
e
r
y F
o
u
n
d
a
t
i
o
n
, I
n
c
. | j
q
u
e
r
y
.
o
r
g
/
l
i
c
e
n
s
e *
!
f
u
n
c
t
i
o
n
(
a
,
b
)
{
"
o
b
j
e
c
t
"
=
=
t
y
p
e
o
f m
o
d
u
l
e
&
&
"
o
b
j
e
c
t
"
=
=
t
y
p
e
o
f m
o
d
u
l
e
.
e
x
p
o
r
t
s
?
m
o
d
u
l
e
.
.
.
SHARDING
STATIC-1.EXAMPLE.COM
STATIC-2.EXAMPLE.COM
STATIC-3.EXAMPLE.COM
STATIC-4.EXAMPLE.COM
SPDY
2009
COMPRESSION
MULTIPLEXING
PRIORITIZATION
...
WAIT!
SPDY
BINARY PROTOCOL
TLS ONLY
NPN
Application (HTTP 1.1)
Session (SPDY | TLS)
Transport (TCP)
Network (IP)
TLS INTRODUCTION
THREE-WAY HANDSHAKE + NEXT PROTOCOL NEGOTIATION
HTTP/2
Application (HTTP/2)
Session (TLS)
Transport (TCP)
Network (IP)
Binary Framing
BINARY PROTOCOL
TLS IS OPTIONAL
APPLICATION-LAYER PROTOCOL
NEGOTIATION
MULTIPLEXING
STREAM - MESSAGE - FRAME
PRIORITIZATION
WEIGHTED STREAMS
DEPENDENCIES
SERVER PUSH
PUSH_PROMISE FRAMES
RST_STREAM FRAMES
HEADER COMPRESSION
HPACK
AND A LOT MORE
Security Now (Ep. 495). HTTP/2
HTTP vs HTTPS - Test them both
HTTP/2 Specs (RFC 2119)
http2 explained - The HTTP/2 book
Apache
N
g
i
n
x
MicrosoftIIS
LiteSpeed
Tomcat
Lighttpd
Tengine
Nodejs
Cowboy
Zope
Zeus
Gunicorn
W
E
B
r
i
c
k
T
h
i
n
Resin
J
e
t
t
y
K
a
n
g
l
e
B
a
s
e
H
T
T
P
S
e
r
v
e
r
T
o
r
n
a
d
o
Cherokee
Mongrel
A
O
L
s
e
r
v
e
r
R
o
x
e
n
C
h
e
r
r
y
P
y
WebSTAR
H
i
a
w
a
t
h
a
WebToB
IceWarp
A
b
y
s
s
Twisted
KomHttpServer
O
r
i
o
n
J
e
x
u
s
WebHare
CouchDB
N
a
v
i
S
e
r
v
e
r
Yaws
RaidenHTTPD Caudium
G
W
A
N
M
o
n
k
e
y
AllegroServe
Misultin
H
u
n
c
h
e
n
t
o
o
t
Virtuoso
Swazoo
Trifork
W
i
l
d
c
a
t
Blazix
Inets
M
o
n
g
r
e
l
2
T
c
l
W
e
b
s
e
r
v
e
r
Comanche
M
a
t
h
o
p
d
Tntnet
WebSiphon
Xavante
Google Servers
Apache Traffic Server
IBM Servers
Oracle Servers
Paste WSGI HTTP Server
Y
a
h
o
o
T
r
a
f
f
i
c
S
e
r
v
e
r
B
a
r
r
a
c
u
d
a
S
e
r
v
e
r
Ada Web Server
SO WHAT ABOUT US?
THANKS!

More Related Content

HTTP/2 - The Web of Future