- From: Willy Tarreau <w@1wt.eu>
- Date: Tue, 3 Mar 2026 04:21:11 +0100
- To: Amos Jeffries <squid3@treenet.co.nz>
- Cc: ietf-http-wg@w3.org
On Mon, Mar 02, 2026 at 04:04:51PM +1300, Amos Jeffries wrote: > On 26/02/2026 11:56, Guoye Zhang wrote: > > Hi everyone, > > > > We are discussing requirements for an HTTP client used by a proxying middleware. Traditional HTTP middleware buffers the entire request body before forwarding the request upstream, so request bodies can be replayed. > > That is not true. Some do this, some do not. > Some only do it for pipelined messages. > > Squid for example only buffers until the request headers are received and > validated. The content/body is allowed to incrementally forward. Agreed, buffering is extremely expensive and a performance killer in general. In haproxy we're able to replay a request under certain conditions, but the entire request needs to fit into a buffer, which is 16kB by default (but is configurable and not recommended to be larger). Also, in practice what I'm seeing is that users who want to enable request replay do not focus that much on the method, because they know that the application is replay-safe and they absolutely want to hide any possible application error from their users. Regards, Willy
Received on Tuesday, 3 March 2026 03:53:49 UTC