Abstract
- One HTTP Request at a time but with Keep-Alive (持久连接)
Data Transfer Congestion
We can only send the next HTTP Request when we receive the HTTP Response for the previous HTTP Request sent. This may cause Head-of-Line Blocking (队头堵塞) which leads to data transfer congestion.
Keep-Alive (持久连接)
- Offers persistent TCP Connection
Reduce Overhead
For each HTTP Request, we don’t need to initialised another TCP Handshake and both the http request and HTTP Response are sharing the same TCP Connection. This solves the high overhead issue in HTTP 1.0.
HTTP 1.1 Pipelining
- The ability to send multiple HTTP requests over a single TCP connection without waiting for the corresponding responses to arrive
Pitfall
If one request in the pipeline takes longer to process, it delays all subsequent responses, which reduces the performance benefits. This causes Head-of-Line Blocking (队头堵塞).