On 08/12/2014 08:35, Osipov, Michael wrote:
> Hi Mark,
> 
>> 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.
> 
> I don't think so because request take only a few tens of milliseconds and
> by default the .NET client waits for upto 350 ms according to MS' 
> documentation.
>  
>> 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).
> 
> Who should close the connection? The connector or my authenticator by
> "Connection: close"?

Tomcat will do this for you in the connector. At least it will in 7.0.x
- see else thread for the patch that was applied.

In 6.0.x your best bet would probably be a Valve to do a similar thing
until the fix is back-ported.

Mark


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to