What are HTTP Long Connections and Pipelining Principles? What is Head-of-Line Blocking? How does HTTP/2 Multiplexing Solve Head-of-Line Blocking? What Optimizations Does HTTP/3’s QUIC Protocol Provide?

What are HTTP Long Connections and Pipelining Principles? What is Head-of-Line Blocking? How does HTTP/2 Multiplexing Solve Head-of-Line Blocking? What Optimizations Does HTTP/3's QUIC Protocol Provide?

This article belongs to the collection: Interviewing the Interviewer Series For more interview questions, feel free to add the assistant’s WeChat at the end of the article! This article overview includes: What are the main differences between HTTP/1.1 and HTTP/1.0? Can you elaborate on how HTTP long connections are implemented, their advantages, and disadvantages? Can … Read more

Stop Using the Antiquated HTTP/1, Upgrade to HTTP/2 with These Two Steps

Stop Using the Antiquated HTTP/1, Upgrade to HTTP/2 with These Two Steps

Recently, while analyzing SSE technology, I briefly mentioned HTTP/2, as the HTTP/1.x protocol has long been considered an “antique”. Reasons for Upgrade Upgrading from HTTP/1.x to HTTP/2 can bring various performance improvements and optimizations: Multiplexing In HTTP/1.x, each TCP connection can only handle one request or response, leading to the so-called head-of-line blocking issue. In … Read more

Embedded Linux: I/O Multiplexing

Embedded Linux: I/O Multiplexing

Click the above blue text to follow us I/O multiplexing in Linux refers to a mechanism that monitors multiple file descriptors simultaneously, allowing programs to wait for multiple I/O events without blocking. I/O multiplexing is primarily implemented through three system calls: select, poll, and epoll. Applications can monitor the state changes of multiple file descriptors, … Read more

Understanding the HTTP/3 Protocol

Understanding the HTTP/3 Protocol

TCP is designed for single connections, where the requesting end places the data to be transmitted in order into a pipeline, and the final data appears at the other end of the pipeline in the same order. unsetunsetTCPunsetunset HTTP/1.1 TCP Data Transmission Process Diagram The sent data is split into packets, which are transmitted over … Read more

Implementing QUIC Protocol Go Client: Advantages of Multiplexing

Implementing QUIC Protocol Go Client: Advantages of Multiplexing

Click the “blue text” above to follow us Have you ever encountered a situation where you open a webpage, and the images load halfway but other content continues to load? Or during a video conference, the video suddenly freezes while the audio remains normal? These issues are often caused by the “head-of-line blocking” inherent in … Read more

What are the Differences Between HTTP/1.0 and HTTP/2.0?

What are the Differences Between HTTP/1.0 and HTTP/2.0?

What are the Differences Between HTTP/1.0 and HTTP/2.0? Key Points This analysis focuses on the differences between the two protocols from the perspectives of connection methods, data transmission formats, and header compression. Connection Methods HTTP/1.0 Short Connections: Each request requires a separate TCP connection, which is closed immediately after the request is completed. Head-of-Line Blocking: … Read more

Understanding The Implementation Principles Of TCP/IP Queues

Understanding The Implementation Principles Of TCP/IP Queues

Click the “IT Program Circle” above to select “Top Public Account”. Source: Zhang Godan’s Technical Journey Since I learned about the TCP/IP congestion control algorithm last time, I increasingly wanted to delve deeper into some underlying principles of TCP/IP. I searched a lot of information online and found a column by Tao Hui on high-performance … Read more