Re: [PATCH] Do not reuse persistent connections for PUTs

From: Alex Rousskov <rousskov_at_measurement-factory.com>
Date: Sat, 01 Sep 2012 11:05:12 -0600

On 09/01/2012 07:11 AM, Henrik Nordström wrote:
> fre 2012-08-31 klockan 21:44 +0300 skrev Tsantilas Christos:
>
>> So looks that a good solution should be (similar to) the solution
>> proposed by Henrik...
>
> 100 Continue aviods the race entirely on requests with bodies, leaving
> only bodyless requests in the "we may not retry this on failure but we
> need to.." problem.

There are at least two problems with 100-continue:

Performance: Recall that we got into this mess because of the
performance complaint. 100-continue will not cause more connections to
be opened, but it will introduce a significant delay in some environments.

Compatibility: I am sure there will be cases where HTTP/1.1 servers will
not respond with 100 Continue. While Squid will not be at fault from
compliance point of view, the "but it used to work fine" or "it works
without a proxy" arguments will force us to add exceptions. I do not
know whether the problems will be widespread enough to warrant default
exceptions.

> Keeping a copy of the sent body allows the request to be retried in
> cases where 100 Continue were not used or could not be used.

I suspect the ideal solution will involve a combination of 100-continue
(where possible and desired) and buffering (otherwise). Unfortunately,
this combination doubles the amount of rather complex coding required to
arrive at that ideal.

Cheers,

Alex.
Received on Sat Sep 01 2012 - 17:05:27 MDT

This archive was generated by hypermail 2.2.0 : Sun Sep 02 2012 - 12:00:03 MDT