3 ms·
"With HTTP/1.1 pipelining, you can't reliably start sending the second request until the first response is complete." In the example, all 30 requests were sent
by 3xblah 7y ago
"With HTTP/1.1 pipelining, you can't reliably start sending the second request until the first response is complete."
In the example, all 30 requests were sent at the same time. openssl did not wait for any responses.
This example can be repeated again and again and every time, all the responses are received, in order. It is reliable.
Not sure who "you" refers to in the above statement, however if it applies to me then that statement is incorrect. I have been using HTTP/1.1 pipelining outside the browser for decades.
HTTP/1.1 was written for HTTP clients. Browsers are just one type of client, not the only type. More than half the traffic on the internet is initiated by non-interactive clients. Besides headless, that excludes browsers.
From RFC 2616:
user agent
The client which initiates a request. These are often browsers, editors, spiders (web-traversing robots), or other end user tools.
- gsnedders 7y agoAh, I seem to have misremembered; from RFC 7230: > A client that supports persistent connections MAY "pipeline" its requests (i.e., send multiple requests without waiting for each response). Maybe this was just yet another case where plenty of intermediaries are broken and mass-deployment has always been difficult?
- Dylan16807 7y agoYes, that. I always set firefox to attempt pipelining until they removed it in favor of HTTP/2. It worked well.