> 2014-12-06 21:53 GMT+03:00 Mark Thomas <ma...@apache.org>: > > On 06/12/2014 18:48, Christopher Schultz wrote: > >> Michael, > >> > >> On 12/4/14 4:27 AM, Osipov, Michael wrote: > >>> Hi folks, > >> > >>> we are experiencing a popular issue with MS .NET clients sending > >>> "Expect: 100-continue" and Tomcat failing with HTTP 505. We use > >>> Apache Tomcat 6.0.41 with APR connector on a corporate network. > >> > >>> The request look like this in Wireshark: > >> > >>> 1. Client sends empty request with one TCP packet > >> > >> What do you mean empty? Is there a request line? Headers? Is there a > >> \r\n\r\n indicating the end of the headers? Is the "Expect" header in > >> this packet? > >> > >>> 2. Tomcat responds with 401 within 20 to 30 ms 3. Client sends > >>> another TCP packet with the request body now (401 has been > >>> ignored) > >> > >> So the client sends "Expect: 100" and then ignores the non-100 > >> response? Sounds like the .NET client is braindead. > > > > To be fair, it could be a timing issue. The client has to guess how long > > to wait before sending the body if it doesn't get a response. > > > > Given the timing issues, the only thing the server can safely do for > > non-200 responses is send the response, close the connection and > > optionally swallow any request body (some clients don't even try to read > > the response until the body has been sent). > > +1. > > The fix for Tomcat 7 was a year ago (7.0.48) in > http://svn.apache.org/r1540689 > > I think that it can be backported to Tomcat 6.
Highly appreciated! Unfortunately, I cannot compile this myself at work, at least when it is not Maven-based :-( Should I file another issue with BZ or do we already have an existing one? Michael