SlideShare a Scribd company logo
1 of 173
Download to read offline
this slide was
intentionally left blank
Good developers know how things work.
Great developers know why things work.
ancient proverb
HTTP 2.0
the future of WWW
@tkaczmarzyk
blog.kaczmarzyk.net
Tomek “Kosior” Kaczmarzyk
HTTP 2.0
the future of WWW
@tkaczmarzyk
blog.kaczmarzyk.net
Tomek “Kosior” Kaczmarzyk
HTTP/2
About me
- I work as CTO at Cohesiva
- I have a blog:
blog.kaczmarzyk.net
- I co-organize ,
software craftsmanship conference
(16.01.2016 in Wroclaw!!!)
The plan
1. Introductioo0000oo00on
2. HTTP/2 in a nutshell
3. Performance of browser
networking
4. Questions
c = 299 792 458 m/s
Achievement unlocked!
Ba-dum-tss Level 2
=======================================
=======================================
0100110101011001
client server
[ 0%]
=======================================
=======================================
client server
SYN
SYN-ACK
ACK
=======================================
=======================================
client server
1 bandwidth
[Mbps]
2 3 4 5 6 7 8 9
2500
2000
1000
1500
3000
page
load time
[ms]
1 bandwidth
[Mbps]
2 3 4 5 6 7 8 9
2500
2000
1000
1500
3000
page
load time
[ms]
page load time
vs increasing bandwidth
180 latency
[ms]
140 100 60 20
2500
2000
1000
1500
3000
page
load time
[ms]
page load time
vs decreasing latency
180 latency
[ms]
140 100 60 20
2500
2000
1000
1500
3000
page
load time
[ms]
Have you ever?
Achievement unlocked!
Tribute
Server
Client
HTTP/0.9
Server
Client
HTTP/0.9
starting a TCP/IP
connection
GET /resource HTTP/0.9
Host: example.org
Accept: image/jpeg
Server
Client
HTTP/0.9
HTTP/0.9 304 Not Modified
ETag: "xyzzy"
Expires: Thu, 23 Jan ...
Server
Client
HTTP/0.9
Server
Client
HTTP/0.9
closing the TCP/IP
connection
Server
Client
HTTP/1.0
GET /resource HTTP/1.0
Host: example.org
Accept: image/jpeg
Server
Client
HTTP/1.0
HTTP/1.0 304 Not Modified
ETag: "xyzzy"
Expires: Thu, 23 Jan ...
Server
Client
HTTP/1.0
GET /resource2 HTTP/1.0
Host: example.org
Accept: image/jpeg
Server
Client
HTTP/1.0
HTTP/1.0 200 OK
ETag: "xyzzy"
...
Server
Client
HTTP/1.0
Server
Client
HTTP/1.0
request1
response1
request2
request3
response2
response3
Server
Client
HTTP/1.1
request1
request2
req.3
Server
Client
HTTP/1.1
request1
request2
!!!head of line
blocking
req.3
Server
Client
multiple connections
per browser session
Server
Client
Server
Client
WTF!?
WTF!?
Server
Client
SPDY
RFC 7540 – HTTP/2
RFC 7541 – HPACK
The plan
1. Introductioo0000oo00on
2. HTTP/2 in a nutshell
3. Performance of browser
networking
4. Questions
Achievement unlocked!
Ba-dum-tss Level 3
Server
Client
single
connection!
Server
Client
single
connection!
Server
Client
single
connection!
stream 1
HEADERS
stream 1
DATA
stream 1
HEADERS
Server
Client
single
connection!
stream 1
HEADERS
stream 3
DATA
stream 1
DATA
stream 3
HEADERS stream 1
HEADERS
stream 3
HEADERS
Server
Client
single
connection!
stream 1
HEADERS
stream 3
DATA
stream 1
DATA
stream 3
HEADERS
stream 5
HEADERS
stream 5
DATA
stream 5
DATA
stream 7
HEADERS
stream 1
HEADERS
stream 3
HEADERS
Server
Client
single
connection!
Server
Client
single
connection!
GO AWAY
Server
Client
Server
Client
single
connection!
GO AWAY
Server
Client
new
connection!
GET /resource HTTP/1.1
Host: example.org
Accept: image/jpeg
GET /resource HTTP/1.1
Host: example.org
Accept: image/jpeg
HTTP/2
GET /resource HTTP/1.1
Host: example.org
Accept: image/jpeg
HEADERS
HTTP/2
GET /resource HTTP/1.1
Host: example.org
Accept: image/jpeg
HEADERS
HTTP/2
+END_STREAM
+END_HEADERS
GET /resource HTTP/1.1
Host: example.org
Accept: image/jpeg
HEADERS
HTTP/2
+END_STREAM
+END_HEADERS
flags
(binary header)
GET /resource HTTP/1.1
Host: example.org
Accept: image/jpeg
HEADERS
HTTP/2
+END_STREAM
+END_HEADERS
host = example.org
accept = image/jpeg
flags
(binary header)
GET /resource HTTP/1.1
Host: example.org
Accept: image/jpeg
HEADERS
HTTP/2
+END_STREAM
+END_HEADERS
:method = GET
:scheme = https
:path = /resource
host = example.org
accept = image/jpeg
flags
(binary header)
GET /resource HTTP/1.1
Host: example.org
Accept: image/jpeg
HEADERS
HTTP/2
+END_STREAM
+END_HEADERS
:method = GET
:scheme = https
:path = /resource
host = example.org
accept = image/jpeg
flags
(binary header)
pseudo headers
GET /resource HTTP/1.1
Host: example.org
Accept: image/jpeg
…
foo: bar
cookie: a=b; e=f
GET /resource HTTP/1.1
Host: example.org
Accept: image/jpeg
…
foo: bar
cookie: a=b; e=f
HTTP/2
HEADERS
CONTINUATION
-END_STREAM
-END_HEADERS
-END_STREAM
+END_HEADERS
:method = GET
:scheme = https
:path = /resource
host = example.org
accept = image/jpeg
…
cookie = a=b
cookie = e=f
GET /resource HTTP/1.1
Host: example.org
Accept: image/jpeg
…
foo: bar
cookie: a=b; e=f
HTTP/2
HEADERS
CONTINUATION
-END_STREAM
-END_HEADERS
-END_STREAM
+END_HEADERS
:method = GET
:scheme = https
:path = /resource
host = example.org
accept = image/jpeg
…
cookie = a=b
cookie = e=f
mind the
flags!
GET /resource HTTP/1.1
Host: example.org
Accept: image/jpeg
…
foo: bar
cookie: a=b; e=f
HTTP/2
HEADERS
CONTINUATION
-END_STREAM
-END_HEADERS
-END_STREAM
+END_HEADERS
:method = GET
:scheme = https
:path = /resource
host = example.org
accept = image/jpeg
…
cookie = a=b
cookie = e=f
mind the
flags!
decomposed for
cacheability
POST /resource HTTP/1.1
Host: example.org
Accept: application/json
…
foo: bar
cookie: a=b; e=f
{
“name”: ”Homer”
}
POST /resource HTTP/1.1
Host: example.org
Accept: application/json
…
foo: bar
cookie: a=b; e=f
{
“name”: ”Homer”
}
HTTP/2
HEADERS
DATA
-END_STREAM
+END_HEADERS
-END_STREAM
:method = POST
:scheme = https
:path = /resource
host = example.org
accept = app./json
{
“name”: ”Homer”
}
HPACK
:method = GET
:scheme = HTTPS
:host = example.org
:path = /resource
user-agent = Chrome...
cookie = JSESSIONID...
:method = GET
:scheme = HTTPS
:host = example.org
:path = /resource
user-agent = Chrome...
cookie = JSESSIONID...
Static table
1
2
9
...
...
usr-agent
method
scheme
Chrome
GET
HTTPS
:method = GET
:scheme = HTTPS
:host = example.org
:path = /resource
user-agent = Chrome...
cookie = JSESSIONID...
Static table
1
2
9
...
...
usr-agent
method
scheme
Chrome
GET
HTTPS
:method = GET
:scheme = HTTPS
:host = example.org
:path = /resource
user-agent = Chrome...
cookie = JSESSIONID...
Static table
1
2
9
...
...
usr-agent
method
scheme
Chrome
GET
HTTPS
2
9
:host = example.org
:path = /resource
1
cookie = JSESSION...
:method = GET
:scheme = HTTPS
:host = example.org
:path = /resource
user-agent = Chrome...
cookie = JSESSIONID...
Static table
1
2
9
...
...
usr-agent
method
scheme
Chrome
GET
HTTPS
2
9
:host = example.org
:path = /resource
1
cookie = JSESSION...
:method = GET
:scheme = HTTPS
:host = example.org
:path = /resource
user-agent = Chrome...
cookie = JSESSIONID...
Static table
1
2
9
...
...
usr-agent
method
scheme
Chrome
GET
HTTPS
2
9
:host = example.org
:path = /resource
1
cookie = JSESSION...
Dynamic table
21
...
cookie JSESSION...
:method = GET
:scheme = HTTPS
:host = example.org
:path = /resource
user-agent = Chrome...
cookie = JSESSIONID...
Static table
1
2
9
...
...
usr-agent
method
scheme
Chrome
GET
HTTPS
2
9
:host = example.org
:path = /resource
1
21
Dynamic table
21
...
cookie JSESSION...
Static table
Dynamic table
:method = GET
:scheme = HTTPS
:host = example.org
:path = /resource
user-agent = Chrome...
cookie = JSESSIONID...
1
2
9
...
...
21
...
2
9
:host = example.org
:path = /resource
1
21
usr-agent
method
scheme
Chrome
GET
HTTPS
cookie JSESSION...
+Huffman
server push
<html>
<head>
...
<link rel=”stylesheet”
type=”text/css” href=”...” />
</head>
<body>
...
<img src=”...”/>
...
</body>
</html>
Server
Client
Server
Client
stream 1
GET index.html
Server
Client
stream 1
GET index.html
Server
Client
stream 2
PUSH_PROMISE
(stylesheet)
stream 4
PUSH_PROMISE
(image)
local cache
stream 1
GET index.html
Server
Client
stream 2
PUSH_PROMISE
(stylesheet)
stream 4
PUSH_PROMISE
(image)
stream 1
HEADERS
(index.html)
stream 1
DATA
(index.html)
local cache
stream 1
GET index.html
Server
Client
stream 2
PUSH_PROMISE
(stylesheet)
stream 4
PUSH_PROMISE
(image)
local cache
Server
Client
stream 2
PUSH_PROMISE
(stylesheet)
stream 4
PUSH_PROMISE
(image)
local cache
GET
stylesheet
Server
Client
stream 2
PUSH_PROMISE
(stylesheet)
stream 4
PUSH_PROMISE
(image)
local cache
GET
stylesheet
Jetty – “smart push”
GET index.html
GET style.css
GET script.js
Jetty – “smart push”
GET index.html
GET style.css {Referer: /index.html}
GET script.js {Referer: /index.html}
Jetty – “smart push”
GET index.html
GET style.css {Referer: /index.html}
GET script.js {Referer: /index.html}
Jetty – “smart push”
GET index.html
GET style.css {Referer: /index.html}
GET script.js {Referer: /index.html}
GET index.html
push: script.js, style.css, index.html
* flow control
* prioritization
* stream dependencies
Even more sexy stuff...
Flow control
client
server
client
server
client
server
client
server
101001101011010111010
client
server
101001101011010111010
Achievement unlocked!
Awwww...
client
server
101001101011010111010
client
server
101001101011010111010
101001101
client
server
101001101011010111010
101001101
011011111
client
server
101001101011010111010
101001101
011011111
00001101
client
server
101001101011010111010
101001101
011011111
00001101
011011111
client
server
101001101011010111010
101001101
011011111
00001101
011011111
011011110100110111
110011101111101001
001110111001000011
client
server
with HTTP/2
flow control!
SETTINGS
(initial
window size)
65,535
client
server
with HTTP/2
flow control!
65,535
DATA
client
server
with HTTP/2
flow control!
41,003
DATA
client
server
with HTTP/2
flow control!
2^31 - 1
WINDOW
UPDATE
client
server
with HTTP/2
flow control!
2^31 - 1
WINDOW
UPDATE
WINDOW
UPDATE131070
Prioritization
& stream dependencies
B
1
B
1
stream
weight
A
3
B
1
stream
weight
A
3
B
1
stream
weight
* implicit
root stream
A
3
B
1
C
2
*
D
1
1. Introductioo0000oo00on
2. HTTP/2 in a nutshell
3. Performance of browser
networking
4. Questions
The plan
The web is dead and I have killed it.
– what's web?
– web is dead
Achievement unlocked!
Tribute
HTTP/2 vs
network performance patterns
* domain sharding
* asset concatenation
* domain sharding
* asset concatenation
it's a single connection with HTTP/2
* resource inlining
* resource inlining
server push is better!
Content Delivery Networks
* compression
* reducing HTTP redirects
* reducing DNS lookups
* caching on the client
1. Introductioo0000oo00on
2. HTTP/2 in a nutshell
3. Performance of browser
networking
4. Questions
The plan
caniuse.com
The future is now(!?)
HTTP 2.0
the future of WWW
HTTP/2
thanks!
?
@tkaczmarzyk
blog.kaczmarzyk.net
Tomek “Kosior” Kaczmarzyk
FAQ
Where can I find more
information about HTTP/2?
Where can I find more
information about HTTP/2?
* RFC 7540 (really!)
* “High Performance Browser
Networking” By Ilya Grigorik
The future is now? Really?
“HTTP/1.1 will be around
for at least another decade “
1. Negotiating HTTP/2
with TLS handshake
2. Upgrading a plaintext
connection to HTTP/2
3. Initiating a plaintext HTTP/2
connection
GET /resource HTTP/1.1
Host: boilingfrogs.pl
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
HTTP2-Settings: (... SETTINGS payload …)
-----------------------------------------------------------
GET /resource HTTP/1.1
Host: boilingfrogs.pl
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
HTTP2-Settings: (... SETTINGS payload …)
-----------------------------------------------------------
GET /resource HTTP/1.1
Host: boilingfrogs.pl
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
HTTP2-Settings: (... SETTINGS payload …)
-----------------------------------------------------------
GET /resource HTTP/1.1
Host: boilingfrogs.pl
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
HTTP2-Settings: (... SETTINGS payload …)
-----------------------------------------------------------
HTTP/1.1 101 Switching Protocols
Connection: Upgrade
Upgrade: h2c
(... HTTP/2 response …)
GET /resource HTTP/1.1
Host: boilingfrogs.pl
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
HTTP2-Settings: (... SETTINGS payload …)
-----------------------------------------------------------
HTTP/1.1 101 Switching Protocols
Connection: Upgrade
Upgrade: h2c
(... HTTP/2 response …)
GET /resource HTTP/1.1
Host: boilingfrogs.pl
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
HTTP2-Settings: (... SETTINGS payload …)
-----------------------------------------------------------
HTTP/1.1 101 Switching Protocols
Connection: Upgrade
Upgrade: h2c
(... HTTP/2 response …)
-----------------------------------------------------------
HTTP/1.1 200 OK
Content-length: 243
Content-type: text/html
(... HTTP/1.1 response ...)
GET /resource HTTP/1.1
Host: boilingfrogs.pl
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
HTTP2-Settings: (... SETTINGS payload …)
-----------------------------------------------------------
HTTP/1.1 101 Switching Protocols
Connection: Upgrade
Upgrade: h2c
(... HTTP/2 response …)
-----------------------------------------------------------
HTTP/1.1 200 OK
Content-length: 243
Content-type: text/html
(... HTTP/1.1 response ...)
Are there any downsides
of one connection per origin?
server
client
server
client
1
3
2
server
client
1
3
2
server
client
1
3
2
server
client
1
3
2
TCP buffer: 1 3
server
client
1
3
TCP buffer: 1 3
2
server
client
1
3
TCP buffer: 1 3
2
2x ACK
server
client
1
3
TCP buffer: 1 3
2
2x ACK
retransm
it
server
client
1
3
TCP buffer: 1 3
2
2x ACK
retransm
it
2
server
client
TCP buffer:
1
3
2
2x ACK
retransm
it
1 32
ACK
“In tests so far, the negative effects of
head-of-line blocking (especially in
the presence of packet loss) is
outweighed by the benefits of
compression and prioritization.”
 
-- Hypertext Transfer Protocol version 2
Server push
vs
SSE & web sockets
Why do we need
header compression?
Why HPACK?
More
questions? :)
HTTP 2.0
the future of WWW
HTTP/2
thanks!
?
@tkaczmarzyk
blog.kaczmarzyk.net
Tomek “Kosior” Kaczmarzyk
Acknowledgements
https://www.flickr.com/photos/eldelinux/15041976222/
Ilya Grigorik (@igrigorik)
“High performance browser networking”
https://www.flickr.com/photos/cblue98/5115058146
Photo Credit

More Related Content

Viewers also liked

Leventa seminarier & workshops & föreläsningar - kortversion
Leventa seminarier & workshops & föreläsningar - kortversionLeventa seminarier & workshops & föreläsningar - kortversion
Leventa seminarier & workshops & föreläsningar - kortversionLeventa AB
 
Chequeo 1 de julio del 2016
Chequeo 1 de julio del 2016Chequeo 1 de julio del 2016
Chequeo 1 de julio del 2016nico44gomez
 
Transgénicos
TransgénicosTransgénicos
Transgénicoscherepaja
 
Desarrollo de la Web
Desarrollo de la Web Desarrollo de la Web
Desarrollo de la Web john cando
 
Chadel Leadership Snapshot 2007
Chadel Leadership Snapshot 2007Chadel Leadership Snapshot 2007
Chadel Leadership Snapshot 2007Rémi Chadel
 
David Copperfield
David CopperfieldDavid Copperfield
David Copperfieldbea garcia
 
Hansen_GIS_Portfolio
Hansen_GIS_PortfolioHansen_GIS_Portfolio
Hansen_GIS_PortfolioKelsey Hansen
 
Stay2GetHer Capstone Project
Stay2GetHer Capstone ProjectStay2GetHer Capstone Project
Stay2GetHer Capstone ProjectAlyxis Flaggs
 
Emmet and conor go to babylon
Emmet and conor go to babylonEmmet and conor go to babylon
Emmet and conor go to babylonconormedia7
 
制 度 詳 解
制 度 詳 解制 度 詳 解
制 度 詳 解a957
 
Rural Area Development Strategy through Rural Infrastructure Development Program
Rural Area Development Strategy through Rural Infrastructure Development ProgramRural Area Development Strategy through Rural Infrastructure Development Program
Rural Area Development Strategy through Rural Infrastructure Development ProgramSuwandi, Dr. SE.,MSi
 
What happens when two worlds collide? by Tej Rekhi @ ICEEfest 2013
What happens when two worlds collide? by Tej Rekhi @ ICEEfest 2013What happens when two worlds collide? by Tej Rekhi @ ICEEfest 2013
What happens when two worlds collide? by Tej Rekhi @ ICEEfest 2013ICEEFEST2013
 

Viewers also liked (19)

Leventa seminarier & workshops & föreläsningar - kortversion
Leventa seminarier & workshops & föreläsningar - kortversionLeventa seminarier & workshops & föreläsningar - kortversion
Leventa seminarier & workshops & föreläsningar - kortversion
 
Chequeo 1 de julio del 2016
Chequeo 1 de julio del 2016Chequeo 1 de julio del 2016
Chequeo 1 de julio del 2016
 
抑郁症:论文
抑郁症:论文抑郁症:论文
抑郁症:论文
 
Transgénicos
TransgénicosTransgénicos
Transgénicos
 
DOT catalogue HR
DOT catalogue HRDOT catalogue HR
DOT catalogue HR
 
Desarrollo de la Web
Desarrollo de la Web Desarrollo de la Web
Desarrollo de la Web
 
Chadel Leadership Snapshot 2007
Chadel Leadership Snapshot 2007Chadel Leadership Snapshot 2007
Chadel Leadership Snapshot 2007
 
David Copperfield
David CopperfieldDavid Copperfield
David Copperfield
 
Sample
SampleSample
Sample
 
Hansen_GIS_Portfolio
Hansen_GIS_PortfolioHansen_GIS_Portfolio
Hansen_GIS_Portfolio
 
Stay2GetHer Capstone Project
Stay2GetHer Capstone ProjectStay2GetHer Capstone Project
Stay2GetHer Capstone Project
 
Emmet and conor go to babylon
Emmet and conor go to babylonEmmet and conor go to babylon
Emmet and conor go to babylon
 
Problema 5
Problema 5Problema 5
Problema 5
 
CRISPR - The patent
CRISPR - The patentCRISPR - The patent
CRISPR - The patent
 
制 度 詳 解
制 度 詳 解制 度 詳 解
制 度 詳 解
 
lavadora Balay 3TW778B
lavadora Balay 3TW778Blavadora Balay 3TW778B
lavadora Balay 3TW778B
 
Rural Area Development Strategy through Rural Infrastructure Development Program
Rural Area Development Strategy through Rural Infrastructure Development ProgramRural Area Development Strategy through Rural Infrastructure Development Program
Rural Area Development Strategy through Rural Infrastructure Development Program
 
Water sanitation
Water sanitationWater sanitation
Water sanitation
 
What happens when two worlds collide? by Tej Rekhi @ ICEEfest 2013
What happens when two worlds collide? by Tej Rekhi @ ICEEfest 2013What happens when two worlds collide? by Tej Rekhi @ ICEEfest 2013
What happens when two worlds collide? by Tej Rekhi @ ICEEfest 2013
 

Similar to HTTP/2 -- the future of WWW

SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28Jxck Jxck
 
IBM dwLive, "Internet & HTTP - 잃어버린 패킷을 찾아서..."
IBM dwLive, "Internet & HTTP - 잃어버린 패킷을 찾아서..."IBM dwLive, "Internet & HTTP - 잃어버린 패킷을 찾아서..."
IBM dwLive, "Internet & HTTP - 잃어버린 패킷을 찾아서..."Dongwook Lee
 
Heavy Web Optimization: Backend
Heavy Web Optimization: BackendHeavy Web Optimization: Backend
Heavy Web Optimization: BackendVõ Duy Tuấn
 
HTTP 2.0 - Web Unleashed 2015
HTTP 2.0 - Web Unleashed 2015HTTP 2.0 - Web Unleashed 2015
HTTP 2.0 - Web Unleashed 2015dmethvin
 
WordCamp Montreal 2016 WP-API + React with server rendering
WordCamp Montreal 2016  WP-API + React with server renderingWordCamp Montreal 2016  WP-API + React with server rendering
WordCamp Montreal 2016 WP-API + React with server renderingZiad Saab
 
Http2.0 Guide 2013-08-14 #http2study
Http2.0 Guide 2013-08-14 #http2studyHttp2.0 Guide 2013-08-14 #http2study
Http2.0 Guide 2013-08-14 #http2studyJxck Jxck
 
A Holistic View of Website Performance
A Holistic View of Website PerformanceA Holistic View of Website Performance
A Holistic View of Website PerformanceRene Churchill
 
Velocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and youVelocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and youPatrick Meenan
 
Http/2 - What's it all about?
Http/2  - What's it all about?Http/2  - What's it all about?
Http/2 - What's it all about?Andy Davies
 
Heavy Web Optimization: Frontend
Heavy Web Optimization: FrontendHeavy Web Optimization: Frontend
Heavy Web Optimization: FrontendVõ Duy Tuấn
 
Honing headers for highly hardened highspeed hypertext
Honing headers for highly hardened highspeed hypertextHoning headers for highly hardened highspeed hypertext
Honing headers for highly hardened highspeed hypertextFastly
 
Honing headers for highly hardened highspeed hypertext
Honing headers for highly hardened highspeed hypertextHoning headers for highly hardened highspeed hypertext
Honing headers for highly hardened highspeed hypertextFastly
 
implement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflowimplement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflowWordPress
 
Exploring Async PHP (SF Live Berlin 2019)
Exploring Async PHP (SF Live Berlin 2019)Exploring Async PHP (SF Live Berlin 2019)
Exploring Async PHP (SF Live Berlin 2019)dantleech
 
CSU33012-I-microservices.pdf
CSU33012-I-microservices.pdfCSU33012-I-microservices.pdf
CSU33012-I-microservices.pdfRicky Garg
 
HTTP/2 - How it's changing web performance
HTTP/2 - How it's changing web performanceHTTP/2 - How it's changing web performance
HTTP/2 - How it's changing web performanceMateus Prado
 
Google I/O 2012 - Protecting your user experience while integrating 3rd party...
Google I/O 2012 - Protecting your user experience while integrating 3rd party...Google I/O 2012 - Protecting your user experience while integrating 3rd party...
Google I/O 2012 - Protecting your user experience while integrating 3rd party...Patrick Meenan
 
Internet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian ThilmanyInternet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian ThilmanyChristian Thilmany
 

Similar to HTTP/2 -- the future of WWW (20)

SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
 
IBM dwLive, "Internet & HTTP - 잃어버린 패킷을 찾아서..."
IBM dwLive, "Internet & HTTP - 잃어버린 패킷을 찾아서..."IBM dwLive, "Internet & HTTP - 잃어버린 패킷을 찾아서..."
IBM dwLive, "Internet & HTTP - 잃어버린 패킷을 찾아서..."
 
Heavy Web Optimization: Backend
Heavy Web Optimization: BackendHeavy Web Optimization: Backend
Heavy Web Optimization: Backend
 
HTTP 2.0 - Web Unleashed 2015
HTTP 2.0 - Web Unleashed 2015HTTP 2.0 - Web Unleashed 2015
HTTP 2.0 - Web Unleashed 2015
 
WordCamp Montreal 2016 WP-API + React with server rendering
WordCamp Montreal 2016  WP-API + React with server renderingWordCamp Montreal 2016  WP-API + React with server rendering
WordCamp Montreal 2016 WP-API + React with server rendering
 
Http2.0 Guide 2013-08-14 #http2study
Http2.0 Guide 2013-08-14 #http2studyHttp2.0 Guide 2013-08-14 #http2study
Http2.0 Guide 2013-08-14 #http2study
 
Sprockets
SprocketsSprockets
Sprockets
 
A Holistic View of Website Performance
A Holistic View of Website PerformanceA Holistic View of Website Performance
A Holistic View of Website Performance
 
Velocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and youVelocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and you
 
Http/2 - What's it all about?
Http/2  - What's it all about?Http/2  - What's it all about?
Http/2 - What's it all about?
 
PHP Lab
PHP LabPHP Lab
PHP Lab
 
Heavy Web Optimization: Frontend
Heavy Web Optimization: FrontendHeavy Web Optimization: Frontend
Heavy Web Optimization: Frontend
 
Honing headers for highly hardened highspeed hypertext
Honing headers for highly hardened highspeed hypertextHoning headers for highly hardened highspeed hypertext
Honing headers for highly hardened highspeed hypertext
 
Honing headers for highly hardened highspeed hypertext
Honing headers for highly hardened highspeed hypertextHoning headers for highly hardened highspeed hypertext
Honing headers for highly hardened highspeed hypertext
 
implement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflowimplement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflow
 
Exploring Async PHP (SF Live Berlin 2019)
Exploring Async PHP (SF Live Berlin 2019)Exploring Async PHP (SF Live Berlin 2019)
Exploring Async PHP (SF Live Berlin 2019)
 
CSU33012-I-microservices.pdf
CSU33012-I-microservices.pdfCSU33012-I-microservices.pdf
CSU33012-I-microservices.pdf
 
HTTP/2 - How it's changing web performance
HTTP/2 - How it's changing web performanceHTTP/2 - How it's changing web performance
HTTP/2 - How it's changing web performance
 
Google I/O 2012 - Protecting your user experience while integrating 3rd party...
Google I/O 2012 - Protecting your user experience while integrating 3rd party...Google I/O 2012 - Protecting your user experience while integrating 3rd party...
Google I/O 2012 - Protecting your user experience while integrating 3rd party...
 
Internet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian ThilmanyInternet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian Thilmany
 

Recently uploaded

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Recently uploaded (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

HTTP/2 -- the future of WWW