SlideShare 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
JS chart by amCharts
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

Viewers also liked

Веб прелистувач
Веб прелистувачВеб прелистувач
Веб прелистувачirina
 
Geometriski transformacii
Geometriski transformaciiGeometriski transformacii
Geometriski transformaciiirina
 
I Risk Placement Corporate Brochure V2
I Risk Placement Corporate Brochure V2I Risk Placement Corporate Brochure V2
I Risk Placement Corporate Brochure V2
Chandra Prakash Suryawanshi
 
Интернет
ИнтернетИнтернет
Интернетirina
 
Babbage and his machines - Carlo Randone - 14 dec 2015
Babbage and his machines - Carlo Randone - 14 dec 2015Babbage and his machines - Carlo Randone - 14 dec 2015
Babbage and his machines - Carlo Randone - 14 dec 2015
Carlo Randone
 
1 cas istorija na kompjuterite
1 cas istorija na kompjuterite1 cas istorija na kompjuterite
1 cas istorija na kompjuteriteirina
 
AN IN-DEPTH LOOK INTO HOW BUILDING PRACTICES IN URBAN CITIES HINDER LOW-COST ...
AN IN-DEPTH LOOK INTO HOW BUILDING PRACTICES IN URBAN CITIES HINDER LOW-COST ...AN IN-DEPTH LOOK INTO HOW BUILDING PRACTICES IN URBAN CITIES HINDER LOW-COST ...
AN IN-DEPTH LOOK INTO HOW BUILDING PRACTICES IN URBAN CITIES HINDER LOW-COST ...
DamilareOG
 
Kertas penerangan 203
Kertas penerangan 203Kertas penerangan 203
Kertas penerangan 203
SMTKK
 
Autodiagnosis
AutodiagnosisAutodiagnosis
Autodiagnosis
google.com
 

Viewers also liked (9)

Веб прелистувач
Веб прелистувачВеб прелистувач
Веб прелистувач
 
Geometriski transformacii
Geometriski transformaciiGeometriski transformacii
Geometriski transformacii
 
I Risk Placement Corporate Brochure V2
I Risk Placement Corporate Brochure V2I Risk Placement Corporate Brochure V2
I Risk Placement Corporate Brochure V2
 
Интернет
ИнтернетИнтернет
Интернет
 
Babbage and his machines - Carlo Randone - 14 dec 2015
Babbage and his machines - Carlo Randone - 14 dec 2015Babbage and his machines - Carlo Randone - 14 dec 2015
Babbage and his machines - Carlo Randone - 14 dec 2015
 
1 cas istorija na kompjuterite
1 cas istorija na kompjuterite1 cas istorija na kompjuterite
1 cas istorija na kompjuterite
 
AN IN-DEPTH LOOK INTO HOW BUILDING PRACTICES IN URBAN CITIES HINDER LOW-COST ...
AN IN-DEPTH LOOK INTO HOW BUILDING PRACTICES IN URBAN CITIES HINDER LOW-COST ...AN IN-DEPTH LOOK INTO HOW BUILDING PRACTICES IN URBAN CITIES HINDER LOW-COST ...
AN IN-DEPTH LOOK INTO HOW BUILDING PRACTICES IN URBAN CITIES HINDER LOW-COST ...
 
Kertas penerangan 203
Kertas penerangan 203Kertas penerangan 203
Kertas penerangan 203
 
Autodiagnosis
AutodiagnosisAutodiagnosis
Autodiagnosis
 

Similar to HTTP/2 - The Web of Future

HTTP/2 - The Web of Future
HTTP/2 - The Web of FutureHTTP/2 - The Web of Future
HTTP/2 - The Web of Future
Vahè Èvoyan
 
Revisiting HTTP/2
Revisiting HTTP/2Revisiting HTTP/2
Revisiting HTTP/2
Fastly
 
Can We Multiplex ACKs without Harming the Performance of TCP?
Can We Multiplex ACKs without Harming the Performance of TCP?Can We Multiplex ACKs without Harming the Performance of TCP?
Can We Multiplex ACKs without Harming the Performance of TCP?
Jose Saldana
 
CON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To YouCON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To You
Edward Burns
 
Buildinga billionuserloadbalancer may2015-sre-con15europe-shuff
Buildinga billionuserloadbalancer may2015-sre-con15europe-shuffBuildinga billionuserloadbalancer may2015-sre-con15europe-shuff
Buildinga billionuserloadbalancer may2015-sre-con15europe-shuff
Patrick Shuff
 
Http2
Http2Http2
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San FranciscoHTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
Alessandro Nadalin
 
huawei-s5710-28c-ei-brochure-datasheet.pdf
huawei-s5710-28c-ei-brochure-datasheet.pdfhuawei-s5710-28c-ei-brochure-datasheet.pdf
huawei-s5710-28c-ei-brochure-datasheet.pdf
Hi-Network.com
 
huawei-s5700-28p-li-bat-brochure-datasheet.pdf
huawei-s5700-28p-li-bat-brochure-datasheet.pdfhuawei-s5700-28p-li-bat-brochure-datasheet.pdf
huawei-s5700-28p-li-bat-brochure-datasheet.pdf
Hi-Network.com
 
Automating linux network performance testing
Automating linux network performance testingAutomating linux network performance testing
Automating linux network performance testing
Antonio Ojea Garcia
 
Forward Networks - Networking Field Day 13 presentation
Forward Networks - Networking Field Day 13 presentationForward Networks - Networking Field Day 13 presentation
Forward Networks - Networking Field Day 13 presentation
Andrew Wesbecher
 
M 14ofl
M 14oflM 14ofl
M 14ofl
ronsito
 
Html5 Overview
Html5 OverviewHtml5 Overview
Html5 Overview
Daniel Arndt Alves
 
Resume_Vignesh_Palanimuthu
Resume_Vignesh_PalanimuthuResume_Vignesh_Palanimuthu
Resume_Vignesh_Palanimuthu
Vignesh Kumar Palanimuthu
 
Implementing MPLS Services using Openflow
Implementing MPLS Services using OpenflowImplementing MPLS Services using Openflow
Implementing MPLS Services using Openflow
APNIC
 
N017147679
N017147679N017147679
N017147679
IOSR Journals
 
Performance Evaluation of Ipv4, Ipv6 Migration Techniques
Performance Evaluation of Ipv4, Ipv6 Migration TechniquesPerformance Evaluation of Ipv4, Ipv6 Migration Techniques
Performance Evaluation of Ipv4, Ipv6 Migration Techniques
IOSR Journals
 
Non-blocking I/O, Event loops and node.js
Non-blocking I/O, Event loops and node.jsNon-blocking I/O, Event loops and node.js
Non-blocking I/O, Event loops and node.js
Marcus Frödin
 
Introduction to OpenFlow
Introduction to OpenFlowIntroduction to OpenFlow
Introduction to OpenFlow
rjain51
 
Forward Networks - Networking Field Day 13 presentation
Forward Networks - Networking Field Day 13 presentationForward Networks - Networking Field Day 13 presentation
Forward Networks - Networking Field Day 13 presentation
Forward Networks
 

Similar to HTTP/2 - The Web of Future (20)

HTTP/2 - The Web of Future
HTTP/2 - The Web of FutureHTTP/2 - The Web of Future
HTTP/2 - The Web of Future
 
Revisiting HTTP/2
Revisiting HTTP/2Revisiting HTTP/2
Revisiting HTTP/2
 
Can We Multiplex ACKs without Harming the Performance of TCP?
Can We Multiplex ACKs without Harming the Performance of TCP?Can We Multiplex ACKs without Harming the Performance of TCP?
Can We Multiplex ACKs without Harming the Performance of TCP?
 
CON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To YouCON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To You
 
Buildinga billionuserloadbalancer may2015-sre-con15europe-shuff
Buildinga billionuserloadbalancer may2015-sre-con15europe-shuffBuildinga billionuserloadbalancer may2015-sre-con15europe-shuff
Buildinga billionuserloadbalancer may2015-sre-con15europe-shuff
 
Http2
Http2Http2
Http2
 
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San FranciscoHTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
 
huawei-s5710-28c-ei-brochure-datasheet.pdf
huawei-s5710-28c-ei-brochure-datasheet.pdfhuawei-s5710-28c-ei-brochure-datasheet.pdf
huawei-s5710-28c-ei-brochure-datasheet.pdf
 
huawei-s5700-28p-li-bat-brochure-datasheet.pdf
huawei-s5700-28p-li-bat-brochure-datasheet.pdfhuawei-s5700-28p-li-bat-brochure-datasheet.pdf
huawei-s5700-28p-li-bat-brochure-datasheet.pdf
 
Automating linux network performance testing
Automating linux network performance testingAutomating linux network performance testing
Automating linux network performance testing
 
Forward Networks - Networking Field Day 13 presentation
Forward Networks - Networking Field Day 13 presentationForward Networks - Networking Field Day 13 presentation
Forward Networks - Networking Field Day 13 presentation
 
M 14ofl
M 14oflM 14ofl
M 14ofl
 
Html5 Overview
Html5 OverviewHtml5 Overview
Html5 Overview
 
Resume_Vignesh_Palanimuthu
Resume_Vignesh_PalanimuthuResume_Vignesh_Palanimuthu
Resume_Vignesh_Palanimuthu
 
Implementing MPLS Services using Openflow
Implementing MPLS Services using OpenflowImplementing MPLS Services using Openflow
Implementing MPLS Services using Openflow
 
N017147679
N017147679N017147679
N017147679
 
Performance Evaluation of Ipv4, Ipv6 Migration Techniques
Performance Evaluation of Ipv4, Ipv6 Migration TechniquesPerformance Evaluation of Ipv4, Ipv6 Migration Techniques
Performance Evaluation of Ipv4, Ipv6 Migration Techniques
 
Non-blocking I/O, Event loops and node.js
Non-blocking I/O, Event loops and node.jsNon-blocking I/O, Event loops and node.js
Non-blocking I/O, Event loops and node.js
 
Introduction to OpenFlow
Introduction to OpenFlowIntroduction to OpenFlow
Introduction to OpenFlow
 
Forward Networks - Networking Field Day 13 presentation
Forward Networks - Networking Field Day 13 presentationForward Networks - Networking Field Day 13 presentation
Forward Networks - Networking Field Day 13 presentation
 

HTTP/2 - The Web of Future