SlideShare a Scribd company logo
1 of 41
HTTP 2HTTP 2.0, no minor version
Narendran Solai Sridharan
Evolution of HTTP
1991: HTTP/0.9 The One-Line Protocol
1996: HTTP/1.0 RFC 1945 Rapid Growth and Informational
1999: HTTP/1.1 RFC 2616 Internet Standard
2007: HTTPbis started to refresh HTTP/1.1
2009: Google announced SPDY
2011: Chrome and all Google services run SPDY
2012: HTTP/2 work began, based on SPDY
2014: HTTP/1.1 updated, RFC 7230 series
2015: HTTP/2 finalized RFC 7540 New Internet Standard
2016: Chrome removes SPDY to support HTTP/2 Adoption
How New is HTTP 2.0?
A rhetoric Question of Course
***It is BRAND NEW as of 2016***
SPDY initiative started by Google on 2009 to investigate and improve HTTP.
In 2012, HTTP 2.0 proposals started and its specification finalized on May, 2015 by
Internet Engineering Task Force (IETF).
Now its Usage is at 6.5% (http://w3techs.com/technologies/details/ce-http2/all/all)
As usual, all supporting developments happen in Parallel 
All Major Browser already Support HTTP 2 (http://caniuse.com/#feat=http2)
In Short HTTP/2 - Key differences to
HTTP/1.x
HTTP/2:
is binary, instead of textual
is fully multiplexed, instead of ordered and blocking
can therefore use one connection for parallelism
uses header compression to reduce overhead
allows servers to “push” responses proactively into client caches
Problems of Internet Application
8 Fallacies of Distributed/Networked Computing
1. Network is Reliable
2. Latency is Zero
3. Bandwidth is infinite
4. Network is Secure
5. Topology does not change
6. There is one Administrator
7. Transport Cost is Zero
8. Network is Homogeneous
Essentially everyone when they first build a Distributed/Networked
Application makes the following assumptions, all prove to be false in Long
Run, all causes Big trouble and painful learning Experiences
Which one of this is a big Problem that HTTP can address Appropriately?
Here is more to analyse
HTTP usage Trends
Visit - http://httparchive.org/
http://www.internetlivestats.com/internet-users/
You can check for the problems that should be
addressed based on statistics.
http://www.internetlivestats.com/internet-users/
http://www.nngroup.com/articles/law-of-bandwidth/
The Big Problem is Latency
Bandwidth
In computing, bandwidth is the bit-rate of available or
consumed information capacity expressed typically in
metric multiples of bits per second. Variously, bandwidth
may be characterized as network bandwidth, data
bandwidth, or digital bandwidth.
Latency
Latency is a time interval between the stimulation and
response, or, from a more general point of view, as a time
delay between the cause and the effect of some physical
change in the system being observed.
Despite Increase in Bandwidth,
Latency remains as problem
What Work Arounds we did with
HTTP/1.1?
• Warm Up
• Spriting
• Inlining
• Sharding
• Caching
• Concatenation of Resources
What is Warm Up?
Spriting
Many images into a sheet, chop with css.
HTTP/2 Addresses Latency problem
and provides a way to avoid work
arounds done for Latency Problems
HTTP 2.0 Features
• Maintains HTTP paradigms
• Multiplexed Streams
• Compressed Headers
• Server Push
HTTP Changes
Proper Multiplexing
• Allows interleaving of different requests and
responses
• Bidirectional
• Each frame has a unique identifier
• Eliminates head-of-line blocking
• Single connection for parallel processing
Priorities
• Defines Priorities of different Streams
• Each Stream has a weight and dependencies
Header Compression
• Uses HPACK
• Huffman code for encoding headers
• An index table is maintained between client
and server
• CRIME prevented use of zlib
Flow Control
• Multiplexing requires the ability of Flow
Control
Server Push
• Replaces in lining of resources
• Allows for caching
• Allows for cancellation of client
HTTP/2: Java
• No changes required to your WARs
• Existing web applications work out-of-the-box
• Push functionalities provided by servers and frameworks
• Possible action: remove old HTTP/1.1 hacks
• HTTP/2 compliant servers require JDK 8
– Due to the fact that HTTP/2 requires strong ciphers
– Server-to-Server clear text may run on JDK 7
• Servlet 4.0 will support HTTP/2
– Backwards compatible
– Few new API changes
– New HTTP Push API
• JEP 110 (http://openjdk.java.net/jeps/110)
– HTTP/2 Client proposal for JDK 9
– HTTP/2 Client API proposed
• In the Java World:
– Jetty (server + client) – Live @ https://webtide.com
– Netty
– Undertow
– Ok Http (Android)
Demo Sites
• https://http2.akamai.com/
• http://www.http2demo.io/
References
• http://httpwg.org/
• http://http2.github.io/
• https://http2.github.io/faq/#why-is-http2-
binary
• http://chimera.labs.oreilly.com/books/123000
0000545
• http://www.slideshare.net/Sigmasoftware/htt
p-20-what-do-i-need-to-know

More Related Content

What's hot

Hypertext transfer protocol (http)
Hypertext transfer protocol (http)Hypertext transfer protocol (http)
Hypertext transfer protocol (http)
johnny19910916
 
HTTP Definition and Basics.
HTTP Definition and Basics.HTTP Definition and Basics.
HTTP Definition and Basics.
Halah Salih
 

What's hot (20)

Hyderabad Mule meetup #9
 Hyderabad Mule meetup #9 Hyderabad Mule meetup #9
Hyderabad Mule meetup #9
 
HyperText Transfer Protocol (HTTP)
HyperText Transfer Protocol (HTTP)HyperText Transfer Protocol (HTTP)
HyperText Transfer Protocol (HTTP)
 
Basics of NGINX
Basics of NGINXBasics of NGINX
Basics of NGINX
 
Hypertext transfer protocol (http)
Hypertext transfer protocol (http)Hypertext transfer protocol (http)
Hypertext transfer protocol (http)
 
21 HTTP Protocol #burningkeyboards
21 HTTP Protocol #burningkeyboards21 HTTP Protocol #burningkeyboards
21 HTTP Protocol #burningkeyboards
 
Http/2 lightning
Http/2   lightningHttp/2   lightning
Http/2 lightning
 
Communicating on the web
Communicating on the webCommunicating on the web
Communicating on the web
 
Http-protocol
Http-protocolHttp-protocol
Http-protocol
 
Hypertext Transfer Protocol
Hypertext Transfer ProtocolHypertext Transfer Protocol
Hypertext Transfer Protocol
 
Evolution of HTTP - Miran Al Mehrab
Evolution of HTTP - Miran Al MehrabEvolution of HTTP - Miran Al Mehrab
Evolution of HTTP - Miran Al Mehrab
 
HTTP
HTTPHTTP
HTTP
 
Understanding the Web through HTTP
Understanding the Web through HTTPUnderstanding the Web through HTTP
Understanding the Web through HTTP
 
Http protocol
Http protocolHttp protocol
Http protocol
 
HTTP Protocol Basic
HTTP Protocol BasicHTTP Protocol Basic
HTTP Protocol Basic
 
Http
HttpHttp
Http
 
HTTP Definition and Basics.
HTTP Definition and Basics.HTTP Definition and Basics.
HTTP Definition and Basics.
 
Http
HttpHttp
Http
 
HTTP
HTTPHTTP
HTTP
 
Introduction to HTTP
Introduction to HTTPIntroduction to HTTP
Introduction to HTTP
 
HTTP - The Protocol of Our Lives
HTTP - The Protocol of Our LivesHTTP - The Protocol of Our Lives
HTTP - The Protocol of Our Lives
 

Viewers also liked

Viewers also liked (6)

Upfront adoption & migration of applications to latest jdk
Upfront adoption & migration of applications to latest jdkUpfront adoption & migration of applications to latest jdk
Upfront adoption & migration of applications to latest jdk
 
Introduction to value types
Introduction to value typesIntroduction to value types
Introduction to value types
 
Raspberry pi and pi4j
Raspberry pi and pi4jRaspberry pi and pi4j
Raspberry pi and pi4j
 
Domain driven design - Part I
Domain driven design - Part IDomain driven design - Part I
Domain driven design - Part I
 
Thinking tools for value innovation
Thinking tools for value innovationThinking tools for value innovation
Thinking tools for value innovation
 
Functional Programming in Java
Functional Programming in JavaFunctional Programming in Java
Functional Programming in Java
 

Similar to Http 2

Similar to Http 2 (20)

Next generation web protocols
Next generation web protocolsNext generation web protocols
Next generation web protocols
 
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
 
HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1
 
Meetup Tech Talk on Web Performance
Meetup Tech Talk on Web PerformanceMeetup Tech Talk on Web Performance
Meetup Tech Talk on Web Performance
 
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
 
Http2
Http2Http2
Http2
 
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?
 
The new (is it really ) api stack
The new (is it really ) api stackThe new (is it really ) api stack
The new (is it really ) api stack
 
Http 2: Should I care?
Http 2: Should I care?Http 2: Should I care?
Http 2: Should I care?
 
Web technology-guide
Web technology-guideWeb technology-guide
Web technology-guide
 
Http/2
Http/2Http/2
Http/2
 
HTTP 프로토콜의 이해와 활용
HTTP 프로토콜의 이해와 활용HTTP 프로토콜의 이해와 활용
HTTP 프로토콜의 이해와 활용
 
Web protocol.pptx
Web protocol.pptxWeb protocol.pptx
Web protocol.pptx
 
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
 
A Bit of REST
A Bit of RESTA Bit of REST
A Bit of REST
 
HTTP 3.pptx
HTTP 3.pptxHTTP 3.pptx
HTTP 3.pptx
 
Abhishek srivastava ppt_web_tech
Abhishek srivastava ppt_web_techAbhishek srivastava ppt_web_tech
Abhishek srivastava ppt_web_tech
 
Http/2
Http/2Http/2
Http/2
 
What's New in HTTP/2
What's New in HTTP/2What's New in HTTP/2
What's New in HTTP/2
 
Http2 is here! And why the web needs it
Http2 is here! And why the web needs itHttp2 is here! And why the web needs it
Http2 is here! And why the web needs it
 

Recently uploaded

哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
ydyuyu
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
JOHNBEBONYAP1
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
ayvbos
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
F
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
F
 

Recently uploaded (20)

APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
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
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
Call girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girlsCall girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girls
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
 

Http 2

  • 1. HTTP 2HTTP 2.0, no minor version Narendran Solai Sridharan
  • 2. Evolution of HTTP 1991: HTTP/0.9 The One-Line Protocol 1996: HTTP/1.0 RFC 1945 Rapid Growth and Informational 1999: HTTP/1.1 RFC 2616 Internet Standard 2007: HTTPbis started to refresh HTTP/1.1 2009: Google announced SPDY 2011: Chrome and all Google services run SPDY 2012: HTTP/2 work began, based on SPDY 2014: HTTP/1.1 updated, RFC 7230 series 2015: HTTP/2 finalized RFC 7540 New Internet Standard 2016: Chrome removes SPDY to support HTTP/2 Adoption
  • 3. How New is HTTP 2.0? A rhetoric Question of Course ***It is BRAND NEW as of 2016*** SPDY initiative started by Google on 2009 to investigate and improve HTTP. In 2012, HTTP 2.0 proposals started and its specification finalized on May, 2015 by Internet Engineering Task Force (IETF). Now its Usage is at 6.5% (http://w3techs.com/technologies/details/ce-http2/all/all) As usual, all supporting developments happen in Parallel  All Major Browser already Support HTTP 2 (http://caniuse.com/#feat=http2)
  • 4. In Short HTTP/2 - Key differences to HTTP/1.x HTTP/2: is binary, instead of textual is fully multiplexed, instead of ordered and blocking can therefore use one connection for parallelism uses header compression to reduce overhead allows servers to “push” responses proactively into client caches
  • 5. Problems of Internet Application 8 Fallacies of Distributed/Networked Computing 1. Network is Reliable 2. Latency is Zero 3. Bandwidth is infinite 4. Network is Secure 5. Topology does not change 6. There is one Administrator 7. Transport Cost is Zero 8. Network is Homogeneous Essentially everyone when they first build a Distributed/Networked Application makes the following assumptions, all prove to be false in Long Run, all causes Big trouble and painful learning Experiences Which one of this is a big Problem that HTTP can address Appropriately?
  • 6. Here is more to analyse HTTP usage Trends Visit - http://httparchive.org/ http://www.internetlivestats.com/internet-users/ You can check for the problems that should be addressed based on statistics.
  • 8.
  • 10. The Big Problem is Latency Bandwidth In computing, bandwidth is the bit-rate of available or consumed information capacity expressed typically in metric multiples of bits per second. Variously, bandwidth may be characterized as network bandwidth, data bandwidth, or digital bandwidth. Latency Latency is a time interval between the stimulation and response, or, from a more general point of view, as a time delay between the cause and the effect of some physical change in the system being observed.
  • 11. Despite Increase in Bandwidth, Latency remains as problem
  • 12. What Work Arounds we did with HTTP/1.1? • Warm Up • Spriting • Inlining • Sharding • Caching • Concatenation of Resources
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25. Spriting Many images into a sheet, chop with css.
  • 26.
  • 27. HTTP/2 Addresses Latency problem and provides a way to avoid work arounds done for Latency Problems
  • 28. HTTP 2.0 Features • Maintains HTTP paradigms • Multiplexed Streams • Compressed Headers • Server Push
  • 30.
  • 31.
  • 32.
  • 33.
  • 34. Proper Multiplexing • Allows interleaving of different requests and responses • Bidirectional • Each frame has a unique identifier • Eliminates head-of-line blocking • Single connection for parallel processing
  • 35. Priorities • Defines Priorities of different Streams • Each Stream has a weight and dependencies
  • 36. Header Compression • Uses HPACK • Huffman code for encoding headers • An index table is maintained between client and server • CRIME prevented use of zlib
  • 37. Flow Control • Multiplexing requires the ability of Flow Control
  • 38. Server Push • Replaces in lining of resources • Allows for caching • Allows for cancellation of client
  • 39. HTTP/2: Java • No changes required to your WARs • Existing web applications work out-of-the-box • Push functionalities provided by servers and frameworks • Possible action: remove old HTTP/1.1 hacks • HTTP/2 compliant servers require JDK 8 – Due to the fact that HTTP/2 requires strong ciphers – Server-to-Server clear text may run on JDK 7 • Servlet 4.0 will support HTTP/2 – Backwards compatible – Few new API changes – New HTTP Push API • JEP 110 (http://openjdk.java.net/jeps/110) – HTTP/2 Client proposal for JDK 9 – HTTP/2 Client API proposed • In the Java World: – Jetty (server + client) – Live @ https://webtide.com – Netty – Undertow – Ok Http (Android)
  • 41. References • http://httpwg.org/ • http://http2.github.io/ • https://http2.github.io/faq/#why-is-http2- binary • http://chimera.labs.oreilly.com/books/123000 0000545 • http://www.slideshare.net/Sigmasoftware/htt p-20-what-do-i-need-to-know