HTTP pipelining

[7] Most pipelining problems happen in HTTP intermediate nodes (hop-by-hop), i.e. in proxy servers, especially in transparent proxy servers (if one of them along the HTTP chain does not handle pipelined requests properly then nothing works as it should).

If instead a client opens 4 connections to a proxy and sends 1 GET request per connection (without using pipelining) the proxy can send the three cached responses to client in parallel before the response from server is received, decreasing the overall completion time (because requests are served in parallel with no head-of-line blocking problem).

not working well when using pipelined requests / responses, up to the point that for many years (at least till 2011) software developers, engineers, web experts, etc.

tried to summarize the various kind of problems they noted, to fix things and to give advices about how to deal with pipelining on the Open Web.

This functionality has been disabled by default and needs to be manually enabled for "bandwidth management and access logging reasons".

[22] Tempesta FW, an open source application delivery controller,[23] also pipelines requests to backend servers.

[24] The libwww library made by the World Wide Web Consortium (W3C), supports pipelining since version 5.1 released at 18 February 1997.

Time diagram of non-pipelined vs. pipelined connection