Issuing multiple requests using HTTP / 1.1 pipelining

When using HTTP / 1.1, pipelining what the standard says about issuing multiple requests without waiting for each request to complete? What do servers do in practice?

I ask because I once tried to write a client that issues a package of GET requests for several files and remembers errors. I was not sure if this was due to an incorrect GET issue or the need to wait for each individual request to complete before the next GET issued.

+7
language-agnostic network-protocols
source share
1 answer

Pipelining is something that has more than one in-flight request per connection.

Pipeline processing is not very common on the open Internet, because servers and intermediaries do not understand this correctly, and the consequences of random pipelining can be serious (for example, mixing responses to two different users).

Keep in mind that only HTTP / 1.1 supports pipelining; if you have an HTTP / 1.0 server or proxy 1.0 in the middle, it probably won't work.

In addition, pipelining can only be used for "idempotent" methods such as GET and HEAD; it is not allowed for POST, etc.

See: http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-09#section-7.1.2.2

+7
source

All Articles