Web Protocols

What is HTTP Pipelining?

Definition

HTTP Pipelining is a technique in HTTP/1.1 that sends multiple requests on a single connection without waiting for each response, now largely replaced by HTTP/2 multiplexing.

HTTP Pipelining is a feature of the HTTP/1.1 protocol defined in RFC 7230, Section 6.3.2, that allows a client to send multiple requests serially on the same TCP connection before receiving any responses. The server must process requests in order and send responses in the same sequence. This reduces per-request latency by eliminating the round-trip delay between each request and response pair.

In practice, pipelining proved difficult to deploy correctly. Many proxy servers, firewalls, and middleboxes did not support it properly, leading to head-of-line blocking where a slow or failed response delayed all subsequent responses. Web browsers largely disabled pipelining by the early 2010s because of reliability and compatibility issues. The technique never achieved widespread use in the public internet.

HTTP/2 superseded pipelining by introducing true multiplexing, where multiple concurrent streams share a single TCP connection without sequential ordering constraints. This removed the head-of-line blocking problem at the HTTP layer and made pipelining obsolete for modern web traffic. HTTP/3 further improves this by operating over QUIC, eliminating TCP-level head-of-line blocking as well.

Key facts

  • Defined in RFC 7230 Section 6.3.2 for HTTP/1.1.
  • Replaced by HTTP/2 multiplexing which is not order dependent.
  • Head-of-line blocking caused pipelining to be disabled in browsers.
  • Never widely adopted due to proxy and middlebox incompatibility.
  • HTTP/3 removes even TCP-level head-of-line blocking.

How it works in practice

A browser requests an HTML page (request 1), a CSS file (request 2), and an image (request 3) on the same TCP connection without waiting for each response. Under pipelining, the server must reply in order: first the HTML, then CSS, then image. If the CSS generation is slow, the image response is delayed, blocking rendering. Under HTTP/2, these three requests are sent as independent streams, and the server can interleave or reorder responses as resources become available.

Related terms

HTTP/1.1 HTTP/2 HTTP/3 Multiplexing Head-of-line blocking QUIC

References

More in Web Protocols

CORS

CORS (Cross-Origin Resource Sharing) is a browser security mechanism that lets servers explicitly allow web pages from one origin to request resources from a different origin via HTTP response headers.

GraphQL

GraphQL is a query language and runtime for APIs that lets clients request exactly the data they need in a single round trip, reducing over-fetching and under-fetching.

gRPC

gRPC is a high-performance, open-source remote procedure call framework initially developed by Google. It uses HTTP/2 for transport, Protocol Buffers as its interface definition language and message serialization format, and supports bidirectional streaming.

HTTP

HTTP is a text-based request-response protocol that defines how web clients and servers exchange resources, forming the foundation of data communication on the World Wide Web.

HTTP Status Code

A three-digit integer in an HTTP response that indicates the result of the server's attempt to process the request, grouped into five classes (1xx through 5xx).

HTTP/1.1

HTTP/1.1 is the persistent-connection version of the Hypertext Transfer Protocol, defined in RFC 2616 and updated by RFCs 7230-7235, enabling multiple requests and responses over a single TCP connection.

HTTP/2

HTTP/2 is a binary, multiplexed version of HTTP that reduces latency through header compression, stream prioritization, and server push, as defined in RFC 7540.

HTTP/3

HTTP/3 is the third major version of the Hypertext Transfer Protocol, which runs over QUIC instead of TCP to reduce latency, eliminate head-of-line blocking, and improve connection setup time.

HTTPS

HTTPS (HTTP Secure) is HTTP traffic encrypted inside a TLS session, protecting data confidentiality, integrity, and server authenticity between a client and a web server.

Keep-Alive

Keep-Alive, also called persistent connection, allows multiple HTTP requests and responses over a single TCP connection, reducing latency and overhead compared to opening a new connection per request.

Who Is Online

In total there are 102 users online: 0 registered, 94 guests and 8 bots.

Most users ever online was 5,555 on 17 Jul 2026, 3:23 am.

Bots: AhrefsBot Applebot Baiduspider Bingbot Googlebot Other Bot PetalBot SemrushBot

Users active in the past 15 minutes. Total registered members: 369