HTTP pipelining

Time diagram of non-pipelined vs. pipelined connection

HTTP pipelining is a feature of HTTP/1.1, which allows multiple HTTP requests to be sent over a single TCP connection without waiting for the corresponding responses.[1] HTTP/1.1 requires servers to respond to pipelined requests correctly, with non-pipelined but valid responses even if server does not support HTTP pipelining. Despite this requirement, many legacy HTTP/1.1 servers do not support pipelining correctly, forcing most HTTP clients to not use HTTP pipelining.

The technique was superseded by multiplexing via HTTP/2,[2] which is supported by most modern browsers.[3]

In HTTP/3, multiplexing is accomplished via QUIC which replaces TCP. This further reduces loading time, as there is no head-of-line blocking even if some packets are lost.

  1. ^ Fielding, R.; Reschke, J. (2014). Fielding, R.; Reschke, J. (eds.). "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing: Pipelining". ietf.org. doi:10.17487/RFC7230. Retrieved 2014-07-24. {{cite journal}}: Cite journal requires |journal= (help)
  2. ^ "Revision 1330814 | Connection management in HTTP/1.x | MDN". MDN Web Docs. Retrieved 2018-03-19.
  3. ^ "HTTP2 browser support". Retrieved March 9, 2017.

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Tubidy