SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
Daniel Stenberg, May 6th
2015
Daniel Stenberg, May 6th
2015
HTTP Today
HTTP/2 basics
Status
Future
Q&A
Daniel Stenberg, May 6th
2015
Daniel Stenberg
Email: daniel@haxx.se
Twitter: @bagder
Web: daniel.haxx.se
Blog: daniel.haxx.se/blog
network hacker at
Daniel Stenberg, May 6th
2015
Please ask!
… just maybe everything isn't crystal clear at once.
Daniel Stenberg, May 6th
2015
Internet Today
HTTP for everything
The web has changed significantly since 1996
Daniel Stenberg, May 6th
2015
Request and payload growth
in 4 years...
7777
100100
725K725K
1900K1900K
httparchive.org
Daniel Stenberg, May 6th
2015
Roundtrip Bonanza
Daniel Stenberg, May 6th
2015
connections per page
38
httparchive.org
Daniel Stenberg, May 6th
2015
Latency adds up
4,000 ms
750 ms
Page
load
time
Round
trip
time0 ms 240 ms
MikeBelshe
Daniel Stenberg, May 6th
2015
Head of line blocking
Daniel Stenberg, May 6th
2015
HTTP 1.1
workarounds
Daniel Stenberg, May 6th
2015
SpritingSpriting
Daniel Stenberg, May 6th
2015
Inlining
.icon1 {
background: url(data:image/png;base64,<data>) no-repeat;
}
.icon2 {
background: url(data:image/png;base64,<data>) no-repeat;
}
Daniel Stenberg, May 6th
2015
Concatenation
$ cat *.js > single-monster.js
Daniel Stenberg, May 6th
2015
Sharding
Daniel Stenberg, May 6th
2015
Quirky
Annoying for developers
Adds layers of tools
Hampers caching
Downloads too much
Daniel Stenberg, May 6th
2015
Daniel Stenberg, May 6th
2015
HTTP/2
Daniel Stenberg, May 6th
2015
“Just a new framing layer”
maintains HTTP paradigms
http:// and https:// URLs cannot be changed
HTTP/1.1 servers and clients will be around for
decades
Proxies must be able to convert 1:1
Less optional parts
No more minor version!
Daniel Stenberg, May 6th
2015
Binary
•No more telnet tricks
•Easier framing
•TLS and compression anyway...
•Wireshark inspector
•A handful set frame types, like HEADERS and DATA
Daniel Stenberg, May 6th
2015
Multiplexed (1/2)
•Multiple streams over a single physical connection
•Max number of parallel streams set by peer
Daniel Stenberg, May 6th
2015
Multiplexed (2/2)
Daniel Stenberg, May 6th
2015
Better utilization of bandwidth
Daniel Stenberg, May 6th
2015
Header compression
•HTTP headers are big and are growing
•HTTP 1 had no header compression
•TCP slow start and initial window size
•Headers are notoriously repetitive
•Cookies
•HPACK
•Not a CRIME victim
•Padding
Daniel Stenberg, May 6th
2015
Streams
Dynamic priority
Flow control
AA
BB CC
Dependencies
Daniel Stenberg, May 6th
2015
Server push
Give me HTML please!
Here's HTML for you
Here's CSS for you
Daniel Stenberg, May 6th
2015
Stricter TLS
TLS version 1.2+ only
Stricter cipher suite requirements
No renegotiations
Daniel Stenberg, May 6th
2015
HTTP/2 is not
Mandatory TLS
Changing HTTP headers
Daniel Stenberg, May 6th
2015
How will HTTP/2 affect users?
Faster page loads
More responsive loading
More HTTPS
Daniel Stenberg, May 6th
2015
How will HTTP/2 affect web development?
HTTP/1 work-arounds hurt HTTP/2 perf
Need to do separate tweaks
Optimal HTTP/2 usage will need some time
Daniel Stenberg, May 6th
2015
Implementations
Nghttp2
Http2-katana
Node-http2
Firefox
Http2-perl
Iij-http2
Akamai
Chrome
OpenLiteSpeed
Twitter
Wireshark
Ericsson MSP
Http2 (Go)
Http2-go
OkHttp
Trusterd
Haskell http lib
SteelApp ADC
Google GFE
Deuterium
Hyper
Undertow
F5
Sasazka
Lucid
H2O
Warp
curl
Cl-http2
Netty
Jetty
Microsoft
Http-2
Protocol::HTTP2
mod_h2
Nginx
wget
https://github.com/http2/http2-spec/wiki/Implementations
Daniel Stenberg, May 6th
2015
Will HTTP/2 get widely deployed?
“Look at IPv6”
SPDY proved fast growth can happen
Major browsers are on the train
Many sites already did SPDY - likely to go
HTTP/2
Daniel Stenberg, May 6th
2015
Schedule
Firefox 35 – enabled by default January 13th
Chrome 40 – enabled by default January 21st
IESG approved on February 18th
HTTP/2 final RFC in Q2 2015 ?
Daniel Stenberg, May 6th
2015
HTTP/2 – May 6th
2015
All browser support seen so far only over HTTPS
Firefox: HTTP/2 in 10%of all HTTP responses1
HTTP/2 is used 10 times more than HTTP/1.0
Google: HTTP/2 used in 18% of global traffic2
HTTP/2 is supported by 44% of browsers in use right now
IPv6: 6.6% today, almost 20 years after first RFC3
1. Rough and not statistically sound numbers from Mozilla Telemetry data for Firefox 36.
2. Rough and rapidly changing numbers in an evolving climate. Graciously provided by Google.
3. https://www.google.com/intl/en/ipv6/statistics.html
Daniel Stenberg, May 6th
2015
Browser support
http://caniuse.com/#feat=http2
Daniel Stenberg, May 6th
2015
My tealeaves tell me...
http://daniel.haxx.se/blog/2015/03/31/the-state-and-rate-of-http2-adoption/
10% at end of 2015
Daniel Stenberg, May 6th
2015
Future
HTTP/2 lays the foundation for the future
Time to drop legacy HTTP “mistakes”?
HTTP/3 can happen faster
QUIC
The HTTP Workshop (Münster, 27-30 July 2015)
https://httpworkshop.github.io/
Daniel Stenberg, May 6th
2015
Final recap
Binary and multiplexed
Primarily over TLS
Users won't see a 2 anywhere
It's already here
Daniel Stenberg, May 6th
2015
Thank you!
See also http2 explained
http://daniel.haxx.se/http2
Daniel Stenberg, May 6th
2015
Doing good is part of our code
Daniel Stenberg, May 6th
2015
Credits
✗
HTTP and TCP trend numbers from
http://httparchive.org
✗
RTT / page load data from Mike Belshe
✗
HTTP/2 usage numbers by Google and Firefox
Telemetry
✗
Lego pieces borrowed from my kids
Daniel Stenberg, May 6th
2015
License
This presentation and its contents are licensed under
the Creative Commons Attribution 4.0 license:
http://creativecommons.org/licenses/by/4.0/

Más contenido relacionado

La actualidad más candente

O'Reilly Fluent Conference: HTTP/1.1 vs. HTTP/2
O'Reilly Fluent Conference: HTTP/1.1 vs. HTTP/2O'Reilly Fluent Conference: HTTP/1.1 vs. HTTP/2
O'Reilly Fluent Conference: HTTP/1.1 vs. HTTP/2Load Impact
 
HTTP/2 Changes Everything
HTTP/2 Changes EverythingHTTP/2 Changes Everything
HTTP/2 Changes EverythingLori MacVittie
 
HTTP/2 Introduction
HTTP/2 IntroductionHTTP/2 Introduction
HTTP/2 IntroductionWalter Liu
 
HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1Daniel Austin
 
Introducing HTTP/2
Introducing HTTP/2Introducing HTTP/2
Introducing HTTP/2Ido Flatow
 
HTTP/2 : why upgrading the web? - apidays Paris
HTTP/2 : why upgrading the web? - apidays ParisHTTP/2 : why upgrading the web? - apidays Paris
HTTP/2 : why upgrading the web? - apidays ParisQuentin Adam
 
HTTP/2 Update - FOSDEM 2016
HTTP/2 Update - FOSDEM 2016HTTP/2 Update - FOSDEM 2016
HTTP/2 Update - FOSDEM 2016Daniel Stenberg
 
HTTP/2 for Developers
HTTP/2 for DevelopersHTTP/2 for Developers
HTTP/2 for DevelopersSvetlin Nakov
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2Ido Flatow
 
HTTP 2.0 Why, How and When
HTTP 2.0 Why, How and WhenHTTP 2.0 Why, How and When
HTTP 2.0 Why, How and WhenCodemotion
 
HTTP/2 standard for video streaming
HTTP/2 standard for video streamingHTTP/2 standard for video streaming
HTTP/2 standard for video streamingHung Thai Le
 
So that was HTTP/2, what's next?
So that was HTTP/2, what's next?So that was HTTP/2, what's next?
So that was HTTP/2, what's next?Daniel Stenberg
 
HTTP/2: What no one is telling you
HTTP/2: What no one is telling youHTTP/2: What no one is telling you
HTTP/2: What no one is telling youFastly
 
HTTP 2.0 – What do I need to know?
HTTP 2.0 – What do I need to know? HTTP 2.0 – What do I need to know?
HTTP 2.0 – What do I need to know? Sigma Software
 
Http2: why the web is upgrading? - bdx.io 2015
Http2: why the web is upgrading?   - bdx.io 2015Http2: why the web is upgrading?   - bdx.io 2015
Http2: why the web is upgrading? - bdx.io 2015Quentin Adam
 

La actualidad más candente (20)

O'Reilly Fluent Conference: HTTP/1.1 vs. HTTP/2
O'Reilly Fluent Conference: HTTP/1.1 vs. HTTP/2O'Reilly Fluent Conference: HTTP/1.1 vs. HTTP/2
O'Reilly Fluent Conference: HTTP/1.1 vs. HTTP/2
 
HTTP/2 Changes Everything
HTTP/2 Changes EverythingHTTP/2 Changes Everything
HTTP/2 Changes Everything
 
HTTP/2 Introduction
HTTP/2 IntroductionHTTP/2 Introduction
HTTP/2 Introduction
 
HTTP2 is Here!
HTTP2 is Here!HTTP2 is Here!
HTTP2 is Here!
 
HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1
 
SPDY and HTTP/2
SPDY and HTTP/2SPDY and HTTP/2
SPDY and HTTP/2
 
Introducing HTTP/2
Introducing HTTP/2Introducing HTTP/2
Introducing HTTP/2
 
HTTP/2 : why upgrading the web? - apidays Paris
HTTP/2 : why upgrading the web? - apidays ParisHTTP/2 : why upgrading the web? - apidays Paris
HTTP/2 : why upgrading the web? - apidays Paris
 
HTTP/2 Update - FOSDEM 2016
HTTP/2 Update - FOSDEM 2016HTTP/2 Update - FOSDEM 2016
HTTP/2 Update - FOSDEM 2016
 
HTTP/2 for Developers
HTTP/2 for DevelopersHTTP/2 for Developers
HTTP/2 for Developers
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
 
HTTP 2.0 Why, How and When
HTTP 2.0 Why, How and WhenHTTP 2.0 Why, How and When
HTTP 2.0 Why, How and When
 
HTTP/2 in Examples
HTTP/2 in ExamplesHTTP/2 in Examples
HTTP/2 in Examples
 
HTTP/2 standard for video streaming
HTTP/2 standard for video streamingHTTP/2 standard for video streaming
HTTP/2 standard for video streaming
 
Http/2
Http/2Http/2
Http/2
 
So that was HTTP/2, what's next?
So that was HTTP/2, what's next?So that was HTTP/2, what's next?
So that was HTTP/2, what's next?
 
HTTP/2: What no one is telling you
HTTP/2: What no one is telling youHTTP/2: What no one is telling you
HTTP/2: What no one is telling you
 
SPDY - or maybe HTTP2.0
SPDY - or maybe HTTP2.0SPDY - or maybe HTTP2.0
SPDY - or maybe HTTP2.0
 
HTTP 2.0 – What do I need to know?
HTTP 2.0 – What do I need to know? HTTP 2.0 – What do I need to know?
HTTP 2.0 – What do I need to know?
 
Http2: why the web is upgrading? - bdx.io 2015
Http2: why the web is upgrading?   - bdx.io 2015Http2: why the web is upgrading?   - bdx.io 2015
Http2: why the web is upgrading? - bdx.io 2015
 

Destacado

Internet all the things - curl everywhere!
Internet all the things - curl everywhere!Internet all the things - curl everywhere!
Internet all the things - curl everywhere!Daniel Stenberg
 
Everybody runs this code all the time
Everybody runs this code all the timeEverybody runs this code all the time
Everybody runs this code all the timeDaniel Stenberg
 
Contributing to Open Source
Contributing to Open SourceContributing to Open Source
Contributing to Open SourceDaniel Stenberg
 
Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0 Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0 Kasun Indrasiri
 
Критически опасные уязвимости в популярных 3G- и 4G-модемах или как построить...
Критически опасные уязвимости в популярных 3G- и 4G-модемах или как построить...Критически опасные уязвимости в популярных 3G- и 4G-модемах или как построить...
Критически опасные уязвимости в популярных 3G- и 4G-модемах или как построить...Positive Hack Days
 
Introduction to gRPC - Mete Atamel - Codemotion Rome 2017
Introduction to gRPC - Mete Atamel - Codemotion Rome 2017Introduction to gRPC - Mete Atamel - Codemotion Rome 2017
Introduction to gRPC - Mete Atamel - Codemotion Rome 2017Codemotion
 
PubSub++ - Atmosphere 2015
PubSub++ - Atmosphere 2015PubSub++ - Atmosphere 2015
PubSub++ - Atmosphere 2015Krzysztof Debski
 
Containerd Donation to CNCF Cloud Native Conference Berlin 2017
Containerd Donation to CNCF Cloud Native Conference Berlin 2017Containerd Donation to CNCF Cloud Native Conference Berlin 2017
Containerd Donation to CNCF Cloud Native Conference Berlin 2017Patrick Chanezon
 
Reorganizing Website Architecture for HTTP/2 and Beyond
Reorganizing Website Architecture for HTTP/2 and BeyondReorganizing Website Architecture for HTTP/2 and Beyond
Reorganizing Website Architecture for HTTP/2 and BeyondKazuho Oku
 
Category theory for beginners
Category theory for beginnersCategory theory for beginners
Category theory for beginnerskenbot
 

Destacado (13)

Internet all the things - curl everywhere!
Internet all the things - curl everywhere!Internet all the things - curl everywhere!
Internet all the things - curl everywhere!
 
Everybody runs this code all the time
Everybody runs this code all the timeEverybody runs this code all the time
Everybody runs this code all the time
 
Contributing to Open Source
Contributing to Open SourceContributing to Open Source
Contributing to Open Source
 
Introduction HTTP via cURL
Introduction HTTP via cURLIntroduction HTTP via cURL
Introduction HTTP via cURL
 
Indira Gandhi University , Meerpur Rewari Prospectus 2015-16
Indira Gandhi University , Meerpur Rewari Prospectus 2015-16Indira Gandhi University , Meerpur Rewari Prospectus 2015-16
Indira Gandhi University , Meerpur Rewari Prospectus 2015-16
 
Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0 Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0
 
Критически опасные уязвимости в популярных 3G- и 4G-модемах или как построить...
Критически опасные уязвимости в популярных 3G- и 4G-модемах или как построить...Критически опасные уязвимости в популярных 3G- и 4G-модемах или как построить...
Критически опасные уязвимости в популярных 3G- и 4G-модемах или как построить...
 
HTTP/2入門
HTTP/2入門HTTP/2入門
HTTP/2入門
 
Introduction to gRPC - Mete Atamel - Codemotion Rome 2017
Introduction to gRPC - Mete Atamel - Codemotion Rome 2017Introduction to gRPC - Mete Atamel - Codemotion Rome 2017
Introduction to gRPC - Mete Atamel - Codemotion Rome 2017
 
PubSub++ - Atmosphere 2015
PubSub++ - Atmosphere 2015PubSub++ - Atmosphere 2015
PubSub++ - Atmosphere 2015
 
Containerd Donation to CNCF Cloud Native Conference Berlin 2017
Containerd Donation to CNCF Cloud Native Conference Berlin 2017Containerd Donation to CNCF Cloud Native Conference Berlin 2017
Containerd Donation to CNCF Cloud Native Conference Berlin 2017
 
Reorganizing Website Architecture for HTTP/2 and Beyond
Reorganizing Website Architecture for HTTP/2 and BeyondReorganizing Website Architecture for HTTP/2 and Beyond
Reorganizing Website Architecture for HTTP/2 and Beyond
 
Category theory for beginners
Category theory for beginnersCategory theory for beginners
Category theory for beginners
 

Similar a HTTP/2 - for TCP/IP Geeks Stockholm

Http 2: Should I care?
Http 2: Should I care?Http 2: Should I care?
Http 2: Should I care?LivePerson
 
Solving HTTP Problems with Code and Protocols
Solving HTTP Problems with Code and ProtocolsSolving HTTP Problems with Code and Protocols
Solving HTTP Problems with Code and ProtocolsC4Media
 
Next generation web protocols
Next generation web protocolsNext generation web protocols
Next generation web protocolsDaniel Austin
 
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 FranciscoAlessandro Nadalin
 
Meetup Tech Talk on Web Performance
Meetup Tech Talk on Web PerformanceMeetup Tech Talk on Web Performance
Meetup Tech Talk on Web PerformanceJean Tunis
 
Google are pushing HTTPS hard. Why? And​,​ when should you act? by Mark Thoma...
Google are pushing HTTPS hard. Why? And​,​ when should you act? by Mark Thoma...Google are pushing HTTPS hard. Why? And​,​ when should you act? by Mark Thoma...
Google are pushing HTTPS hard. Why? And​,​ when should you act? by Mark Thoma...SEO monitor
 
The Case for HTTP/2 - Internetdagarna 2015 - Stockholm
The Case for HTTP/2  - Internetdagarna 2015 - StockholmThe Case for HTTP/2  - Internetdagarna 2015 - Stockholm
The Case for HTTP/2 - Internetdagarna 2015 - StockholmAndy Davies
 
2018 ui5con http2 ui5
2018 ui5con http2 ui5 2018 ui5con http2 ui5
2018 ui5con http2 ui5 TobiasSorn
 
Web Performance in the Age of HTTP/2 - FEDay Conference, Guangzhou, China 19/...
Web Performance in the Age of HTTP/2 - FEDay Conference, Guangzhou, China 19/...Web Performance in the Age of HTTP/2 - FEDay Conference, Guangzhou, China 19/...
Web Performance in the Age of HTTP/2 - FEDay Conference, Guangzhou, China 19/...Holger Bartel
 
Let’s push the assets to the front i.e. a few words about HTTP2
Let’s push the assets to the front i.e. a few words about HTTP2Let’s push the assets to the front i.e. a few words about HTTP2
Let’s push the assets to the front i.e. a few words about HTTP2OCoderFest
 
Progressive Web Apps - Intro and State of Market in Australia
Progressive Web Apps - Intro and State of Market in AustraliaProgressive Web Apps - Intro and State of Market in Australia
Progressive Web Apps - Intro and State of Market in AustraliaErudite
 
PageSpeed and SPDY
PageSpeed and SPDYPageSpeed and SPDY
PageSpeed and SPDYBlake Crosby
 
Why Embrace "Html5"?
Why Embrace "Html5"?Why Embrace "Html5"?
Why Embrace "Html5"?FossilDesigns
 
HTML5, CSS3 and the Future of the Web
HTML5, CSS3 and the Future of the WebHTML5, CSS3 and the Future of the Web
HTML5, CSS3 and the Future of the WebBerg Brandt
 

Similar a HTTP/2 - for TCP/IP Geeks Stockholm (20)

Http 2: Should I care?
Http 2: Should I care?Http 2: Should I care?
Http 2: Should I care?
 
Solving HTTP Problems with Code and Protocols
Solving HTTP Problems with Code and ProtocolsSolving HTTP Problems with Code and Protocols
Solving HTTP Problems with Code and Protocols
 
HTTP/2 Comes to Java
HTTP/2 Comes to JavaHTTP/2 Comes to Java
HTTP/2 Comes to Java
 
Html5
Html5Html5
Html5
 
Http 2
Http 2Http 2
Http 2
 
Next generation web protocols
Next generation web protocolsNext generation web protocols
Next generation web protocols
 
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
 
Meetup Tech Talk on Web Performance
Meetup Tech Talk on Web PerformanceMeetup Tech Talk on Web Performance
Meetup Tech Talk on Web Performance
 
Google are pushing HTTPS hard. Why? And​,​ when should you act? by Mark Thoma...
Google are pushing HTTPS hard. Why? And​,​ when should you act? by Mark Thoma...Google are pushing HTTPS hard. Why? And​,​ when should you act? by Mark Thoma...
Google are pushing HTTPS hard. Why? And​,​ when should you act? by Mark Thoma...
 
The Case for HTTP/2 - Internetdagarna 2015 - Stockholm
The Case for HTTP/2  - Internetdagarna 2015 - StockholmThe Case for HTTP/2  - Internetdagarna 2015 - Stockholm
The Case for HTTP/2 - Internetdagarna 2015 - Stockholm
 
2018 ui5con http2 ui5
2018 ui5con http2 ui5 2018 ui5con http2 ui5
2018 ui5con http2 ui5
 
Tstat conext
Tstat conextTstat conext
Tstat conext
 
Web Performance in the Age of HTTP/2 - FEDay Conference, Guangzhou, China 19/...
Web Performance in the Age of HTTP/2 - FEDay Conference, Guangzhou, China 19/...Web Performance in the Age of HTTP/2 - FEDay Conference, Guangzhou, China 19/...
Web Performance in the Age of HTTP/2 - FEDay Conference, Guangzhou, China 19/...
 
Let’s push the assets to the front i.e. a few words about HTTP2
Let’s push the assets to the front i.e. a few words about HTTP2Let’s push the assets to the front i.e. a few words about HTTP2
Let’s push the assets to the front i.e. a few words about HTTP2
 
Progressive Web Apps - Intro and State of Market in Australia
Progressive Web Apps - Intro and State of Market in AustraliaProgressive Web Apps - Intro and State of Market in Australia
Progressive Web Apps - Intro and State of Market in Australia
 
PageSpeed and SPDY
PageSpeed and SPDYPageSpeed and SPDY
PageSpeed and SPDY
 
The beginnings of HTML5
The beginnings of HTML5The beginnings of HTML5
The beginnings of HTML5
 
Websockets
WebsocketsWebsockets
Websockets
 
Why Embrace "Html5"?
Why Embrace "Html5"?Why Embrace "Html5"?
Why Embrace "Html5"?
 
HTML5, CSS3 and the Future of the Web
HTML5, CSS3 and the Future of the WebHTML5, CSS3 and the Future of the Web
HTML5, CSS3 and the Future of the Web
 

Más de Daniel Stenberg

Más de Daniel Stenberg (20)

mastering libcurl part 2
mastering libcurl part 2mastering libcurl part 2
mastering libcurl part 2
 
mastering libcurl part 1
mastering libcurl part 1mastering libcurl part 1
mastering libcurl part 1
 
curl - openfourm europe.pdf
curl - openfourm europe.pdfcurl - openfourm europe.pdf
curl - openfourm europe.pdf
 
curl experiments - curl up 2022
curl experiments - curl up 2022curl experiments - curl up 2022
curl experiments - curl up 2022
 
curl security - curl up 2022
curl security - curl up 2022curl security - curl up 2022
curl security - curl up 2022
 
HTTP/3 in curl - curl up 2022
HTTP/3 in curl - curl up 2022HTTP/3 in curl - curl up 2022
HTTP/3 in curl - curl up 2022
 
The state of curl 2022
The state of curl 2022The state of curl 2022
The state of curl 2022
 
Let me tell you about curl
Let me tell you about curlLet me tell you about curl
Let me tell you about curl
 
Curl with rust
Curl with rustCurl with rust
Curl with rust
 
Getting started with libcurl
Getting started with libcurlGetting started with libcurl
Getting started with libcurl
 
HTTP/3 is next generation HTTP
HTTP/3 is next generation HTTPHTTP/3 is next generation HTTP
HTTP/3 is next generation HTTP
 
Landing code in curl
Landing code in curlLanding code in curl
Landing code in curl
 
Testing curl for security
Testing curl for securityTesting curl for security
Testing curl for security
 
common mistakes when using libcurl
common mistakes when using libcurlcommon mistakes when using libcurl
common mistakes when using libcurl
 
HTTP/3 in curl 2020
HTTP/3 in curl 2020HTTP/3 in curl 2020
HTTP/3 in curl 2020
 
The state of curl 2020
The state of curl 2020The state of curl 2020
The state of curl 2020
 
curl roadmap 2020
curl roadmap 2020curl roadmap 2020
curl roadmap 2020
 
curl better
curl bettercurl better
curl better
 
HTTP/3 for everyone
HTTP/3 for everyoneHTTP/3 for everyone
HTTP/3 for everyone
 
HTTP/3, QUIC and streaming
HTTP/3, QUIC and streamingHTTP/3, QUIC and streaming
HTTP/3, QUIC and streaming
 

Último

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 

Último (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 

HTTP/2 - for TCP/IP Geeks Stockholm

  • 2. Daniel Stenberg, May 6th 2015 HTTP Today HTTP/2 basics Status Future Q&A
  • 3. Daniel Stenberg, May 6th 2015 Daniel Stenberg Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se Blog: daniel.haxx.se/blog network hacker at
  • 4. Daniel Stenberg, May 6th 2015 Please ask! … just maybe everything isn't crystal clear at once.
  • 5. Daniel Stenberg, May 6th 2015 Internet Today HTTP for everything The web has changed significantly since 1996
  • 6. Daniel Stenberg, May 6th 2015 Request and payload growth in 4 years... 7777 100100 725K725K 1900K1900K httparchive.org
  • 7. Daniel Stenberg, May 6th 2015 Roundtrip Bonanza
  • 8. Daniel Stenberg, May 6th 2015 connections per page 38 httparchive.org
  • 9. Daniel Stenberg, May 6th 2015 Latency adds up 4,000 ms 750 ms Page load time Round trip time0 ms 240 ms MikeBelshe
  • 10. Daniel Stenberg, May 6th 2015 Head of line blocking
  • 11. Daniel Stenberg, May 6th 2015 HTTP 1.1 workarounds
  • 12. Daniel Stenberg, May 6th 2015 SpritingSpriting
  • 13. Daniel Stenberg, May 6th 2015 Inlining .icon1 { background: url(data:image/png;base64,<data>) no-repeat; } .icon2 { background: url(data:image/png;base64,<data>) no-repeat; }
  • 14. Daniel Stenberg, May 6th 2015 Concatenation $ cat *.js > single-monster.js
  • 15. Daniel Stenberg, May 6th 2015 Sharding
  • 16. Daniel Stenberg, May 6th 2015 Quirky Annoying for developers Adds layers of tools Hampers caching Downloads too much
  • 18. Daniel Stenberg, May 6th 2015 HTTP/2
  • 19. Daniel Stenberg, May 6th 2015 “Just a new framing layer” maintains HTTP paradigms http:// and https:// URLs cannot be changed HTTP/1.1 servers and clients will be around for decades Proxies must be able to convert 1:1 Less optional parts No more minor version!
  • 20. Daniel Stenberg, May 6th 2015 Binary •No more telnet tricks •Easier framing •TLS and compression anyway... •Wireshark inspector •A handful set frame types, like HEADERS and DATA
  • 21. Daniel Stenberg, May 6th 2015 Multiplexed (1/2) •Multiple streams over a single physical connection •Max number of parallel streams set by peer
  • 22. Daniel Stenberg, May 6th 2015 Multiplexed (2/2)
  • 23. Daniel Stenberg, May 6th 2015 Better utilization of bandwidth
  • 24. Daniel Stenberg, May 6th 2015 Header compression •HTTP headers are big and are growing •HTTP 1 had no header compression •TCP slow start and initial window size •Headers are notoriously repetitive •Cookies •HPACK •Not a CRIME victim •Padding
  • 25. Daniel Stenberg, May 6th 2015 Streams Dynamic priority Flow control AA BB CC Dependencies
  • 26. Daniel Stenberg, May 6th 2015 Server push Give me HTML please! Here's HTML for you Here's CSS for you
  • 27. Daniel Stenberg, May 6th 2015 Stricter TLS TLS version 1.2+ only Stricter cipher suite requirements No renegotiations
  • 28. Daniel Stenberg, May 6th 2015 HTTP/2 is not Mandatory TLS Changing HTTP headers
  • 29. Daniel Stenberg, May 6th 2015 How will HTTP/2 affect users? Faster page loads More responsive loading More HTTPS
  • 30. Daniel Stenberg, May 6th 2015 How will HTTP/2 affect web development? HTTP/1 work-arounds hurt HTTP/2 perf Need to do separate tweaks Optimal HTTP/2 usage will need some time
  • 31. Daniel Stenberg, May 6th 2015 Implementations Nghttp2 Http2-katana Node-http2 Firefox Http2-perl Iij-http2 Akamai Chrome OpenLiteSpeed Twitter Wireshark Ericsson MSP Http2 (Go) Http2-go OkHttp Trusterd Haskell http lib SteelApp ADC Google GFE Deuterium Hyper Undertow F5 Sasazka Lucid H2O Warp curl Cl-http2 Netty Jetty Microsoft Http-2 Protocol::HTTP2 mod_h2 Nginx wget https://github.com/http2/http2-spec/wiki/Implementations
  • 32. Daniel Stenberg, May 6th 2015 Will HTTP/2 get widely deployed? “Look at IPv6” SPDY proved fast growth can happen Major browsers are on the train Many sites already did SPDY - likely to go HTTP/2
  • 33. Daniel Stenberg, May 6th 2015 Schedule Firefox 35 – enabled by default January 13th Chrome 40 – enabled by default January 21st IESG approved on February 18th HTTP/2 final RFC in Q2 2015 ?
  • 34. Daniel Stenberg, May 6th 2015 HTTP/2 – May 6th 2015 All browser support seen so far only over HTTPS Firefox: HTTP/2 in 10%of all HTTP responses1 HTTP/2 is used 10 times more than HTTP/1.0 Google: HTTP/2 used in 18% of global traffic2 HTTP/2 is supported by 44% of browsers in use right now IPv6: 6.6% today, almost 20 years after first RFC3 1. Rough and not statistically sound numbers from Mozilla Telemetry data for Firefox 36. 2. Rough and rapidly changing numbers in an evolving climate. Graciously provided by Google. 3. https://www.google.com/intl/en/ipv6/statistics.html
  • 35. Daniel Stenberg, May 6th 2015 Browser support http://caniuse.com/#feat=http2
  • 36. Daniel Stenberg, May 6th 2015 My tealeaves tell me... http://daniel.haxx.se/blog/2015/03/31/the-state-and-rate-of-http2-adoption/ 10% at end of 2015
  • 37. Daniel Stenberg, May 6th 2015 Future HTTP/2 lays the foundation for the future Time to drop legacy HTTP “mistakes”? HTTP/3 can happen faster QUIC The HTTP Workshop (Münster, 27-30 July 2015) https://httpworkshop.github.io/
  • 38. Daniel Stenberg, May 6th 2015 Final recap Binary and multiplexed Primarily over TLS Users won't see a 2 anywhere It's already here
  • 39. Daniel Stenberg, May 6th 2015 Thank you! See also http2 explained http://daniel.haxx.se/http2
  • 40. Daniel Stenberg, May 6th 2015 Doing good is part of our code
  • 41. Daniel Stenberg, May 6th 2015 Credits ✗ HTTP and TCP trend numbers from http://httparchive.org ✗ RTT / page load data from Mike Belshe ✗ HTTP/2 usage numbers by Google and Firefox Telemetry ✗ Lego pieces borrowed from my kids
  • 42. Daniel Stenberg, May 6th 2015 License This presentation and its contents are licensed under the Creative Commons Attribution 4.0 license: http://creativecommons.org/licenses/by/4.0/