SlideShare a Scribd company logo
1 of 13
Download to read offline
Let's use modern protocols everywhere!
May 2019
Julien Cayzac
Ecosystem Services Department
Rakuten, Inc.
2
What is the problem?
• Text-based protocol
• Redundant headers ➡ bandwidth waste
• Concurrency? Open many connections! (browsers: 6 sockets/origin)
• Request pipelining? Rarely used (complexity, implementation bugs)
• HOL Blocking ➡ decreased performance to avoid out-of-order responses
• Higher infrastructure cost per request
HTTP/1.1 is an obsolete, inefficient protocol
3
HTTP/2
• Old tech: released in 2015 (RFC 7540)
• Supported by all modern browsers and HTTP frameworks
• Reduces latency, increase concurrency, minimizes protocol overhead
• Designed to reduce webpages loading time by >50%
• Requests/responses multiplexing, streams & server push
• Compatibility with HTTP/1.1 semantics (methods, headers & status codes)
HTTP/2 Highlights
4
HTTP/2
• Binary framing layer
• Header compression
Protocol Overhead Reduction
5
HTTP/2
• Supersedes HTTP Pipelining and fixes HOL Blocking problem (only for HTTP)
• Only 1 TCP connection per origin
• Bidirectional & prioritizable streams
Requests & Responses Multiplexing: Streams
6
HTTP/2
• Related resources can be pushed downstream to the client.
• It’s multiplexed too, and pushed promises can be canceled by the client.
Server Push
7
HTTP/2
Frontend UI/UX
• HTTP/2 can improve throughput between backends too!
Backend
• HTTP/1.1 best practices can become HTTP/2 antipatterns. Review your habits!
• CSS sprites, monolithic JS… Same-origin requests are free with HTTP/2!
Mandatory 1st stop: https://developers.google.com/web/fundamentals/
8
Let’s not stop here…
Adopt TLS 1.3 now, too!
9
TLS/1.3
• Fairly recent (August 2018) but support is growing:
• Enabled by default in Firefox 63, Chrome 70, iOS 12.2 & Android Q.
• Already available in BoringSSL, OpenSSL 1.1.1, JDK 11, …
• Compatible with both TCP & QUIC!
• Better security
• Assured Forward Secrecy, Safe Cipher Modes/Options, …
• Better performance (0-RTT Data)
• Google says establishing a secure connection is 40% faster than with TLS 1.2.
• 0-RTT Data should only be enabled for trusted connections (backend) for now, until safety is assessed.
TLS/1.3 Highlights
10
TLS/1.3
Establishing a connection with
TLS/1.2:
- 1 RT for TCP.
- 2 RT for negotiating TLS.
With 0-RTT Data, data can be
transmitted in the first TLS packet,
decreasing latency.
Handshake: 0-RTT Data
11
▶ Fast-forward ▶
Plan for HTTP/3!
12
HTTP/3
• Expected in 2019
• Replaces TCP with QUIC
• UDP-based, but reliable (packet retries, congestion control, QoS etc)
• Addresses shortcomings of TCP (HOL Blocking problem, 3-RTT, …)
• Less performance degradation when packets are lost.
• 0-RTT Data you can use (➡ safer than in TLS/1.3).
• Streams are transport-level (application-level in HTTP/2).
• Application-level semantics are still the same as in HTTP/2 and HTTP/1.1.
HTTP/3 Highlights
Let's use modern protocols everywhere!

More Related Content

What's hot

Altitude SF 2017: QUIC - A low-latency secure transport for HTTP
Altitude SF 2017: QUIC - A low-latency secure transport for HTTPAltitude SF 2017: QUIC - A low-latency secure transport for HTTP
Altitude SF 2017: QUIC - A low-latency secure transport for HTTP
Fastly
 

What's hot (20)

HTTP/2 Introduction
HTTP/2 IntroductionHTTP/2 Introduction
HTTP/2 Introduction
 
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0
 
HTTP/2 standard for video streaming
HTTP/2 standard for video streamingHTTP/2 standard for video streaming
HTTP/2 standard for video streaming
 
Altitude SF 2017: QUIC - A low-latency secure transport for HTTP
Altitude SF 2017: QUIC - A low-latency secure transport for HTTPAltitude SF 2017: QUIC - A low-latency secure transport for HTTP
Altitude SF 2017: QUIC - A low-latency secure transport for HTTP
 
Meetup tdd
Meetup tddMeetup tdd
Meetup tdd
 
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?
 
HTTP/2 and SAP Fiori
HTTP/2 and SAP FioriHTTP/2 and SAP Fiori
HTTP/2 and SAP Fiori
 
JUG louvain websockets
JUG louvain websocketsJUG louvain websockets
JUG louvain websockets
 
Primer to Browser Netwroking
Primer to Browser NetwrokingPrimer to Browser Netwroking
Primer to Browser Netwroking
 
HTTP2 & HPACK #pyfes 2013-11-30
HTTP2 & HPACK #pyfes 2013-11-30HTTP2 & HPACK #pyfes 2013-11-30
HTTP2 & HPACK #pyfes 2013-11-30
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
 
HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1
 
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?
 
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
 
HTTP/2 - for TCP/IP Geeks Stockholm
HTTP/2 - for TCP/IP Geeks StockholmHTTP/2 - for TCP/IP Geeks Stockholm
HTTP/2 - for TCP/IP Geeks Stockholm
 
Hyderabad Mule meetup #9
 Hyderabad Mule meetup #9 Hyderabad Mule meetup #9
Hyderabad Mule meetup #9
 
QUIC
QUICQUIC
QUIC
 
Http2
Http2Http2
Http2
 
Internet protocol
Internet protocolInternet protocol
Internet protocol
 
Basics of HTTP - Nafis Fuad
Basics of HTTP - Nafis FuadBasics of HTTP - Nafis Fuad
Basics of HTTP - Nafis Fuad
 

Similar to Let's use modern protocols everywhere!

stackconf 2023 | How the Network Protocols You Choose Ultimately Affect Your ...
stackconf 2023 | How the Network Protocols You Choose Ultimately Affect Your ...stackconf 2023 | How the Network Protocols You Choose Ultimately Affect Your ...
stackconf 2023 | How the Network Protocols You Choose Ultimately Affect Your ...
NETWAYS
 
How to Share and Deliver Big Data Fast – Considerations When Implementing Big...
How to Share and Deliver Big Data Fast – Considerations When Implementing Big...How to Share and Deliver Big Data Fast – Considerations When Implementing Big...
How to Share and Deliver Big Data Fast – Considerations When Implementing Big...
FileCatalyst
 
HTTP at your local BigCo
HTTP at your local BigCoHTTP at your local BigCo
HTTP at your local BigCo
pgriess
 

Similar to Let's use modern protocols everywhere! (20)

Next generation web protocols
Next generation web protocolsNext generation web protocols
Next generation web protocols
 
Introduction to HTTP2
Introduction to HTTP2Introduction to HTTP2
Introduction to HTTP2
 
Http/2
Http/2Http/2
Http/2
 
A New Internet? Introduction to HTTP/2, QUIC and DOH
A New Internet? Introduction to HTTP/2, QUIC and DOHA New Internet? Introduction to HTTP/2, QUIC and DOH
A New Internet? Introduction to HTTP/2, QUIC and DOH
 
Http2 in practice
Http2 in practiceHttp2 in practice
Http2 in practice
 
stackconf 2023 | How the Network Protocols You Choose Ultimately Affect Your ...
stackconf 2023 | How the Network Protocols You Choose Ultimately Affect Your ...stackconf 2023 | How the Network Protocols You Choose Ultimately Affect Your ...
stackconf 2023 | How the Network Protocols You Choose Ultimately Affect Your ...
 
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUICA new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
 
HTTP/2
HTTP/2HTTP/2
HTTP/2
 
IOT and System Platform From Concepts to Code
IOT and System Platform From Concepts to CodeIOT and System Platform From Concepts to Code
IOT and System Platform From Concepts to Code
 
From Fast To SPDY
From Fast To SPDYFrom Fast To SPDY
From Fast To SPDY
 
Improving performance by changing the rules from fast to SPDY
Improving performance by changing the rules   from fast to SPDYImproving performance by changing the rules   from fast to SPDY
Improving performance by changing the rules from fast to SPDY
 
HTTP/2 Changes Everything
HTTP/2 Changes EverythingHTTP/2 Changes Everything
HTTP/2 Changes Everything
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
 
Http 2
Http 2Http 2
Http 2
 
Web protocol.pptx
Web protocol.pptxWeb protocol.pptx
Web protocol.pptx
 
Http2
Http2Http2
Http2
 
HTTP/3 an early overview
HTTP/3 an early overviewHTTP/3 an early overview
HTTP/3 an early overview
 
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
 
How to Share and Deliver Big Data Fast – Considerations When Implementing Big...
How to Share and Deliver Big Data Fast – Considerations When Implementing Big...How to Share and Deliver Big Data Fast – Considerations When Implementing Big...
How to Share and Deliver Big Data Fast – Considerations When Implementing Big...
 
HTTP at your local BigCo
HTTP at your local BigCoHTTP at your local BigCo
HTTP at your local BigCo
 

Recently uploaded

Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Chandigarh Call girls 9053900678 Call girls in Chandigarh
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
Diya Sharma
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
@Chandigarh #call #Girls 9053900678 @Call #Girls in @Punjab 9053900678
 

Recently uploaded (20)

All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
 
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft DatingDubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
 
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
 
Al Barsha Night Partner +0567686026 Call Girls Dubai
Al Barsha Night Partner +0567686026 Call Girls  DubaiAl Barsha Night Partner +0567686026 Call Girls  Dubai
Al Barsha Night Partner +0567686026 Call Girls Dubai
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
 

Let's use modern protocols everywhere!

  • 1. Let's use modern protocols everywhere! May 2019 Julien Cayzac Ecosystem Services Department Rakuten, Inc.
  • 2. 2 What is the problem? • Text-based protocol • Redundant headers ➡ bandwidth waste • Concurrency? Open many connections! (browsers: 6 sockets/origin) • Request pipelining? Rarely used (complexity, implementation bugs) • HOL Blocking ➡ decreased performance to avoid out-of-order responses • Higher infrastructure cost per request HTTP/1.1 is an obsolete, inefficient protocol
  • 3. 3 HTTP/2 • Old tech: released in 2015 (RFC 7540) • Supported by all modern browsers and HTTP frameworks • Reduces latency, increase concurrency, minimizes protocol overhead • Designed to reduce webpages loading time by >50% • Requests/responses multiplexing, streams & server push • Compatibility with HTTP/1.1 semantics (methods, headers & status codes) HTTP/2 Highlights
  • 4. 4 HTTP/2 • Binary framing layer • Header compression Protocol Overhead Reduction
  • 5. 5 HTTP/2 • Supersedes HTTP Pipelining and fixes HOL Blocking problem (only for HTTP) • Only 1 TCP connection per origin • Bidirectional & prioritizable streams Requests & Responses Multiplexing: Streams
  • 6. 6 HTTP/2 • Related resources can be pushed downstream to the client. • It’s multiplexed too, and pushed promises can be canceled by the client. Server Push
  • 7. 7 HTTP/2 Frontend UI/UX • HTTP/2 can improve throughput between backends too! Backend • HTTP/1.1 best practices can become HTTP/2 antipatterns. Review your habits! • CSS sprites, monolithic JS… Same-origin requests are free with HTTP/2! Mandatory 1st stop: https://developers.google.com/web/fundamentals/
  • 8. 8 Let’s not stop here… Adopt TLS 1.3 now, too!
  • 9. 9 TLS/1.3 • Fairly recent (August 2018) but support is growing: • Enabled by default in Firefox 63, Chrome 70, iOS 12.2 & Android Q. • Already available in BoringSSL, OpenSSL 1.1.1, JDK 11, … • Compatible with both TCP & QUIC! • Better security • Assured Forward Secrecy, Safe Cipher Modes/Options, … • Better performance (0-RTT Data) • Google says establishing a secure connection is 40% faster than with TLS 1.2. • 0-RTT Data should only be enabled for trusted connections (backend) for now, until safety is assessed. TLS/1.3 Highlights
  • 10. 10 TLS/1.3 Establishing a connection with TLS/1.2: - 1 RT for TCP. - 2 RT for negotiating TLS. With 0-RTT Data, data can be transmitted in the first TLS packet, decreasing latency. Handshake: 0-RTT Data
  • 12. 12 HTTP/3 • Expected in 2019 • Replaces TCP with QUIC • UDP-based, but reliable (packet retries, congestion control, QoS etc) • Addresses shortcomings of TCP (HOL Blocking problem, 3-RTT, …) • Less performance degradation when packets are lost. • 0-RTT Data you can use (➡ safer than in TLS/1.3). • Streams are transport-level (application-level in HTTP/2). • Application-level semantics are still the same as in HTTP/2 and HTTP/1.1. HTTP/3 Highlights