Although HTTP/2 solves the queue-blocking problem at the application level, the queue-blocking problem caused by the loss of a single packet in TCP is called queue-blocking over TCP.
Test data shows that HTTP/1.1 transport efficiency is better than HTTP/2 when the system reaches a 2% packet loss rate.
Network delay is also called Round Trip Time. We refer to the total round-trip time between sending a packet from the browser to the server and returning the packet from the server to the browser as RTT, which is an important indicator of network performance.
- When establishing a TCP connection, three handshakes with the server are required to confirm the connection, which means that 1.5 RTT is consumed before data can be transmitted.
- TLS connections are made. there are two versions of TLS -- TLS1.2 and TLS1.3
We need to spend 3-4 RTTS before transmitting the data
Include router, firewall, NAT, switch and so on. they often rely on little-updated software that USES a lot of TCP features that are set up and rarely updated.
Based on UDP it realizes the functions of multiple data streams and transmission reliability similar to TCP. We call this set of functions QUIC protocol
- Realize functions like TCP flow control and transmission reliability
- Integrated TLS encryption function
- Implemented the multiplexing function in *HTTP/2 *
- Implemented a quick handshake function
- Neither the server nor the browser provides complete support for HTTP/3
- There are also very big problems in deploying HTTP/3 because the system kernel's optimization of UDP is far from TCP optimization, this is also an important reason that hinders QUIC
- The problem of the rigidity of the middle equipment. the optimization of UDP by these devices is much lower than TCP. according to statistics, when using QUIC protocol there is about 3% to 7% packet loss rate.
Hope it can help you :)