HTTP/2.0 path
chosen in 5G wireless technology !!
Aka HTTP/2, published as RFC 7540 in May 2015.
HTTP/1.0 releases since 1995 and update by HTTP/1.1 in 1999. For last 20 years the web has transformed and evolved multifold but not HTTP protocol. During these years there were improvement done to HTTP/1.1 from web developers and browsers to improve the user experience. But these changes never made as standards and remains in their own world of web users/ developers for being experienced.
HTTP/1.0 releases since 1995 and update by HTTP/1.1 in 1999. For last 20 years the web has transformed and evolved multifold but not HTTP protocol. During these years there were improvement done to HTTP/1.1 from web developers and browsers to improve the user experience. But these changes never made as standards and remains in their own world of web users/ developers for being experienced.
That brought difficulty in following terms,
Still not optimized enough to meet the full bandwidth utilization.
Web design/ maintenance were becoming complex as there exists multiplicity of improvements segregated around the internet.
Still not optimized enough to meet the full bandwidth utilization.
Web design/ maintenance were becoming complex as there exists multiplicity of improvements segregated around the internet.
HTTP/2.0 introduced improvements,
- Multiplexing/ Concurrency
- Stream Dependencies
- Header compression
- Server Push
In some cases, the various improvements developed on
HTTP/1.1 by individual browser providers became redundant with HTTP/2.0
Best of all, there are no changes required on web
design with HTTP/2.0, everything is gonna work perfectly fine with improved
user experience.
Comparisons
between HTTP/1.1 and HTTP/2.0
HTTP/1.1 (text
protocol) Limitations
-
Allowing processing of only one outstanding
request per TCP connection, forcing browsers to use multiple TCP connections to
process multiple requests simultaneously.
o However,
using too many TCP connections in parallel leads to TCP congestion that causes
unfair monopolization of network resources. Web browsers using multiple
connections to process additional requests occupy a greater share of the
available network resources, hence downgrading network performance for other
users
-
The internet industry was naturally
forced to hack these constraints with practices such as domain sharding,
concatenation, data inlining and spriting, among others
HTTP/2.0
(binary protocol) –
SPYD (aka - speedy) – effort initiated by google
(2009) with the aim to improve user experience of web browsing (reducing web
page latency and increasing security). 2015 google stopped SPYD and moved its
support for HTTP/2.0 standardization and improvements. SPYD does not modify
HTTP, but overlay an additional layer on both ends to provide improvements such
as header compression. While still retaining the semantics of
HTTP/1.1, SPDY introduced a framing layer on top of TLS persistent TCP
connections to achieve multiplexing and request prioritization. In addition
SPDY proved reducing the amount of data exchanged through header compression,
and server push feature also reduce latency further.
When IETF took notice to improve the HTTP/1.1 protocol,
based on gaining improvements coming in SPYD from google. And SPYD became as
foundation for HTTP/2.0 to start with.
Compression:
Compared to SPDY, request and response header size were found to be smaller for
HTTP/2—indicating compression achieved in HTTP/2 using HPACK is more efficient
than DEFLATE algorithm used by SPDY. However, for response message size, SPDY
had smaller size for textual resources. HTTP/2 header compression was found to
be 75% more efficient than no header compression in HTTP/1.1.
HTTP/2 is fully multiplexed
As per 29500 Spec, HTTP2.0
recommended over TCP. JSON format is recommended to be used for data
serialization over REST based APIs.
REST stands for Representational State Transfer. It relies on a
stateless, client-server, cacheable communications. In most cases it is used
with the HTTP protocol. RESTful applications use HTTP requests to POST
(create), PUT (create and/or update), GET (e.g., make queries), and DELETE
data. REST uses HTTP for all four CRUD (Create/Read/Update/Delete) operations.
JSON (JavaScript Object Notation) is a lightweight data-interchange format has
two pieces: key and value. It is easy for humans to read and write. It is easy
for machines to parse and generate.
Why 3GPP is picking up HTTP2.0
?
3GPP - TR 29891 - section Table 6.2.2.4 -1: Comparison of candidate
solutions (HTTP options)
- This document is from CT4 (CT WG4) aspects, to study and
selection of the protocols and the definition of the procedures and services
that will be used in the 5GS.
QUIC (another google experimental project in parallal
to TCP)
Quick UDP
Internet Connections
Comments