On Fri, Apr 15, 2005 at 11:36:07AM -0500, Rici Lake wrote:
> Are there browsers which send more than four extraneous CRLF's but 
> still support keepalive?
> 
> If this code reads four CRLF's without finding any data, it will assume 
> that there is no immediate incoming request, and send a flush down the 
> filter chain. That does no harm aside from wasting some cycles; on the 
> assumption that the number of cycles wasted is not that enormous and 
> the number of browsers which exhibit that particular behaviour is not 
> huge, I'd say it's not really worth completely retrying the read.

True.

> I believe that the current code may exhibit the opposite behaviour: it 
> can falsely report that data is present and thereby omit the flush with 
> the result that a response is not terminated until the following 
> request. If the connection is not being pipelined, the following 
> request is unlikely to show up until the response is terminated, so 
> that would lead to a request which stalls very near to the end. I 
> believe I may have actually seen this symptom in real life, now that I 
> think about it.
> 
> >So, yes, I'd be fine with removing EATCRLF for 2.2 if you provide a 
> >tested
> >patch.  ;-)  -- justin
> 
> OK, I'll start by at least compiling and testing what I posted.

Just remember that you might want to go straight to the connection filters and
bypass all of the request and protocol filters.  That would likely save a
bunch of cycles.  -- justin

Reply via email to