tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Osipov, Michael" <michael.osi...@siemens.com>
Subject Receiving HTTP 505 on Expect: 100-continue
Date Thu, 04 Dec 2014 09:27:12 GMT
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
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)
4. While debugging the APR Connector I see that request.getProtocol is invoked and
  the message bytes contain the chomped XML with a trailing GET request. This leads to a 505.

I read several resources as well as bug reports in HTTPd, Tomcat and JBoss spread over the
last couple of years. The RFC 7231 [1] says:

Requirements for clients:
o  A client that sends a 100-continue expectation is not required to
   wait for any specific length of time; such a client MAY proceed to
   send the message body even if it has not yet received a response.
   Furthermore, since 100 (Continue) responses cannot be sent through
   an HTTP/1.0 intermediary, such a client SHOULD NOT wait for an
   indefinite period before sending the message body.

The statement sheds some light on the issue but does not fully answer the question.
As far as I understand the client has received the final status (401) from the server but
did not
evaluate this. In my opinion, the client seems to be broken.

The resources suggested to disable the header which we did and it did work indeed, the strange
thing is that the client in .NET should wait for 350 ms before it fires the body which it
doesn't.

Can somebody tell me who is misbehaving against the RFC? Is disabling "Expect: 100-continue"
the way
to go? I am pretty fine with that if Tomcat's behavior is RFC-compliant.

These are my resources:

https://social.msdn.microsoft.com/Forums/en-US/5c576a2d-2f13-485c-8ada-b4c3ee127d3c/http-protocol-errors-when-combining-webclient-uploads-and-digest-authentication?forum=ncl
https://issues.apache.org/bugzilla/show_bug.cgi?id=47087
http://blogs.msdn.com/b/fiddler/archive/2011/11/05/http-expect-continue-delays-transmitting-post-bodies-by-up-to-350-milliseconds.aspx


Regards,

Michael

[1] http://tools.ietf.org/html/rfc7231#section-5.1.1

PS: If someone of the project members is interested in the Wirshark pcap file, I'll be happy
to send you that to your @apache.org email address.


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


Mime
View raw message