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.

Reply via email to