HTTP2 Tutorial - The Past and Present of HTTP2
HTTP was originally proposed by Timberners-Lee, a pioneer of the World Wide Web, who designed the application protocol with simplicity in mind to perform advanced data communication functions between web servers and clients.
The first documented version of HTTP was HTTP 0.9, released in 1991, and HTTP 1.0 was officially introduced in 1996. HTTP 1.1 was subsequently released in 1997, and has had few iterative improvements since then.
In February 2015, the Internet Engineering Task Force (IETF) HTTP Working Group revised HTTP and developed the second major version of the application protocol in the form of HTTP/2. In May 2015, the HTTP/2 implementation specification was formally standardized in response to Google's HTTP-compatible SPDY protocol.
What is a protocol?
Discussions of HTTP/2 vs. HTTP1 must begin with the term protocol, which is often used in this resource. A protocol is a set of rules that govern the data communication mechanism between a client (such as a web browser that an internet user uses to request information) and a server (the machine that contains the requested information).
A protocol usually consists of three main parts: Header, Payload, and Footer. The header placed in front of the payload contains information such as source and destination addresses and other details about the payload (such as size and type). The payload is the actual information transmitted using the protocol. The Footer follows the payload and acts as a control field to route the client-server request along with the Header to the intended recipient to ensure that the transmission of the payload data is error-free.
The system is similar to the postal service. The letter (payload) is inserted into an envelope (Header) with the destination address written on it and sealed with glue and a stamp (Footer) before sending. However, transmitting digital information in the form of 0s and 1s is not that simple and requires a new dimension of innovation to cope with the technological advances brought about by the explosive growth of Internet usage.
The HTTP protocol originally consisted of basic commands: GET, which retrieves information from the server; POST, which passes the requested information to the client. This simple and apparently boring set of commands for getting data and posting responses essentially formed the basis on which other network protocols were built. The protocol is another step in improving the user experience and effectiveness of the Internet, and HTTP/2 implementation is needed to enhance the online presence. To learn more about the HTTP protocol, you can check out our HTTP tutorial
HTTP2 design and technical goals
HTTP has only undergone a few major reforms since its inception in the early 1990s. The latest version, HTTP1.1, has been serving the web world for 15 years. In the current era of dynamically updated information, resource-intensive multimedia content formats, and an over-emphasis on web performance, web pages have placed old protocol technologies in the legacy category. These trends require significant changes to HTTP/2 to improve the Internet experience. The article "The Shortcomings of HTTP1.1 " introduces some of the shortcomings of HTTP1.1
Early versions of the HTTP protocol were designed primarily for simplicity: HTTP/0.9 launched the World Wide Web with a single line of protocol; HTTP/1.0 was a formal specification of popular HTTP/0.9 extensions; HTTP 1.1 was an official IETF standard; see A brief history of HTTP. As a result, HTTP/0.9-1.x achieved their purpose: HTTP is the most widely used and adopted Internet application protocol.
However, implementation simplicity comes at the expense of application performance: HTTP/1.x clients need to use multiple connections to achieve concurrency and reduce latency; HTTP/1.x does not compress request and response headers, resulting in unnecessary network traffic; HTTP/1.x does not support effective resource prioritization, resulting in low utilization of the underlying TCP connection; and so on.
These limitations are not fatal, but as web applications continue to grow in scope, complexity, and importance in our daily lives, they have created a significant burden on both web developers and users, which is exactly what HTTP/2 aims to address:
HTTP/2 enables applications to use network resources more efficiently and reduce perceived latency by supporting header field compression and multiple concurrent exchanges on the same connection. Specifically, it interleaves request and response messages on the same connection and uses efficient encodings for HTTP header fields. > HTTP/2 also allows requests to be prioritized, allowing more important requests to complete more quickly, further improving performance. The resulting protocol is better for the network because fewer TCP connections can be used compared to HTTP/1.x. > This means less contention with other flows and longer duration of connections, which in turn improves utilization of available network capacity. Finally, HTTP/2 also enables more efficient processing of messages through the use of binary message framing. ( Hypertext Transfer Protocol Version 2, Draft 17)
It is important to note that the new HTTP version is an extension of its predecessor and is not expected to replace HTTP1.1 anytime soon. HTTP/2 implementations will not automatically support all encryption types available with HTTP1.1, but will certainly open the door to better alternatives or other encryption compatibility updates in the near future. However, feature comparisons such as HTTP/2 vs. HTTP1 and SPDY vs. HTTP/2 only show that the latest application protocol is the winner in terms of performance, security, and reliability. Some of the upgrades it makes to HTTP1.1 are described in HTTP2 Feature Upgrades
For reprinting, please send an email to 1244347461@qq.com for approval. After obtaining the author's consent, kindly include the source as a link.
Related Articles
How to redirect a website from HTTP to HTTPS
Publish Date:2025/03/16 Views:117 Category:NETWORK
-
HTTPS is a protocol for secure communication over computer networks and is widely used on the Internet. More and more website owners are migrating from HTTP to HTTPS, mainly due to the following 5 reasons: Google announced that websites usi
How to Fix the “SSL Handshake Failed” Error (5 Methods)
Publish Date:2025/03/16 Views:96 Category:NETWORK
-
Installing a Secure Sockets Layer (SSL) certificate on your WordPress site enables it to use HTTPS for a secure connection. Unfortunately, there are a lot of things that can go wrong in the process of verifying a valid SSL certificate and e
Detailed introduction to Let's Encrypt
Publish Date:2025/03/16 Views:129 Category:NETWORK
-
Let's Encrypt is a free, automated, and open certificate authority that officially launched in April 2016. It was originally founded in 2012 by two Mozilla employees. Their goal for founding Let's Encrypt was really simple; to encrypt the e
HTTP2 Tutorial - The shortcomings of HTTP1.1
Publish Date:2025/03/16 Views:145 Category:NETWORK
-
HTTP 1.1 is limited to handling only one outstanding request per TCP connection, forcing browsers to use multiple TCP connections to handle multiple requests simultaneously. However, using too many TCP connections in parallel can cause TCP
HTTP2 Tutorial - HTTP2 Functional Upgrade
Publish Date:2025/03/16 Views:87 Category:NETWORK
-
Before we officially introduce the functions of HTTP/2, let's take a detour to understand the past and present of HTTP/2 . Multiplexing Streams The bidirectional sequence of text-formatted frames sent via the HTTP/2 protocol exchanged betwe
HTTP2 Tutorial - How to use HTTP/2 with HTTPS
Publish Date:2025/03/16 Views:84 Category:NETWORK
-
HTTPS is used to build ultra-secure networks connecting computers, machines, and servers to handle sensitive business and consumer information. HTTP/2 browser support includes HTTPS encryption, which actually complements the overall securit
HTTP2 Tutorial - How to Configure HTTP2 with Nginx
Publish Date:2025/03/17 Views:195 Category:NETWORK
-
HTTP2 was officially released in 2015. If your website is still using HTTP/1.1, you may be out of date. Don't worry, here we will see how to use Nginx to upgrade your website to HTTP2. Install Nginx I feel that this column is redundant. Sin
OAuth2.0 - A comprehensive understanding of OAuth2.0
Publish Date:2025/03/17 Views:72 Category:NETWORK
-
When I first came into contact with OAuth2.0, I often confused it with SSO single sign-on. Later, due to work needs, I implemented a set of SSO in the project. Through my gradual understanding of SSO, I also distinguished it from OAuth2.0.
How to Fix the “This Site Can’t Provide a Secure Connection” Error
Publish Date:2025/03/17 Views:164 Category:NETWORK
-
Nothing is more frustrating than receiving an error message that brings our work to a screeching halt—especially when security is involved. Seeing a “This Site Can’t Provide a Secure Connection” notification can be confusing and ala