Do you know the differences between different versions of HTTP protocol?

Do you know the differences between different versions of HTTP protocol?

[[420148]]

Introduction

There are already multiple versions of the HTTP protocol. Generally, the websites we visit use either HTTP1.1 or HTTP2. What is the difference between them? Why don't all websites use the same protocol?

Version

Up to now, IETF has released 5 HTTP protocols, including HTTP0.9, HTTP1.0, HTTP1.1, HTTP2, and HTTP3. Here are the differences between the versions:

HTTP0.9

Released in 1991, it has no headers, is very simple in functionality, and only supports GET.

HTTP1.0

Released in 1996, it has poor plaintext transmission security and a very large header. It has the following enhancements compared to 0.9:

  • Added header (decoupling metadata from data)
  • Added status code to indicate the result of the request.
  • Content-type can transfer other files.
  • The http/1.0 version number is added to the request header.

Disadvantage: A new TCP connection is created each time a resource is requested

HTTP1.1

Released in 1997, it is the most widely used version now. It has the following enhancements compared to 1.0:

  • You can set keepalive to let http reuse tcp connection (requests must be sent serially)
  • Support pipeline transmission, and you can continue to send requests after the request is issued
  • Added the HOST header to let the server know which domain name the user requested
  • Added headers such as type, language, encoding, etc.

Updated in 2014:

  • Added TLS support, i.e. https transmission
  • Supports four models: short connection, reusable TCP long connection, server push model (the server actively pushes data to the client cache), websocket model

Disadvantages: It is still a text protocol, and both the client and the server need to use the CPU to decompress it.

HTTP2

Released in 2015, it mainly improves security and performance. Its enhancements compared to 1.1 include:

  • Header compression (merging identical parts of requests sent simultaneously)
  • Binary frame transmission, more convenient for transmitting only the difference part in the header
  • Stream multiplexing, only one connection is needed for the same service, saving connection
  • Server push, the server can respond multiple times to a client request.
  • Can send requests concurrently in one TCP connection

Disadvantages: Based on TCP transmission, there will be head-of-line blocking problems (packet loss stops window sliding), TCP will retransmit lost packets, TCP handshake delay is long, and the protocol is rigid.

HTTP3

Released in 2018, based on Google's QUIC, the underlying layer uses the udp code tcp protocol.

This solves the head-of-line blocking problem, and there is no need for handshakes. The performance is greatly improved, and TLS encryption is used by default.

<<:  Breaking news: Why has Huawei LampSite won the GlobalData Indoor Small Site Rating for three consecutive years?

>>:  How many people are using invalid 5G? The price has doubled, and the experience has become worse

Recommend

5G FWA is booming: Views from the MBBF2021 5G FWA Industry Forum

During the 2021 Global Mobile Broadband Forum, th...

Network | Comic: What is the HTTPS protocol?

What is HTTP? The full name of HTTP protocol is H...

Five packet sniffers that can replace Wireshark

Wireshark is a very popular packet sniffer. It ca...

How do Huawei, ZTE and the three major operators plan for 5G?

What is 5G? 5G is the fifth generation of mobile ...

What happens if Keep-Alive is disabled on the client and enabled on the server?

This article is reprinted from the WeChat public ...

Game changers for the branch office: Wi-Fi 6, 4G, 5G and SD-WAN

Today, the use of cloud computing services contin...

Spiderpool: How to solve the problem of zombie IP recycling

In the Underlay network, how to recycle zombie IP...

The web standard is always MIME version 1.0

Introduction There is no order without rules, and...

Deploy Nginx Plus as API Gateway: Nginx

Learn how the famous Nginx server (an essential f...

Comprehensive diagram! Global operators' 5G deployment plan timeline

GSA's latest report shows that 154 mobile ope...

Fixed-line broadband rates drop again, how should operators respond?

This year marks the sixth year of the implementat...

Five technical challenges in deploying IoT networks

Network architects and system engineers beware—ge...