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.
