----- Original Message ----- From: "Dominik Wittenbeck" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Saturday, January 25, 2003 3:28 PM Subject: [SOAP] Re: soap post and http 1.1 100 continue
> Yep, know that one, > > Why it does happen: > although the HTTP 1.1 spec states that a HTTP 100 SHOULD NOT (or was it MUST > NOT ;-) to the client, unless it requires it by a specific header, IIS does > it with webservices and thereby about any that are published and maintained > with .NET ;-) Not quite right : An origin server SHOULD NOT send a 100 (Continue) response if the request message does not include an Expect request-header field with the "100-continue" expectation, and MUST NOT send a 100 (Continue) response if such a request comes from an HTTP/1.0 (or earlier) client. There is an exception to this rule: for compatibility with RFC 2068, a server MAY send a 100 (Continue) status in response to an HTTP/1.1 PUT or POST request that does not include an Expect request-header field with the "100-continue" expectation. This exception, the purpose of which is to minimize any client processing delays associated with an undeclared wait for 100 (Continue) status, applies only to HTTP/1.1 requests, and not to requests with any other HTTP-version value. > Solution: > A HTTP 100 basically states: "ok I am ready for your content now". You have > probably submitted your content already... resend it, but the content only, > without the \r\n\r\n mark that separates headers from payload with HTTP. > To serve a clean solution you should however go ahead and implement a > listener that tries to hear a HTTP 100. With PHP this is kind of tiresome. > In my implementation I also just resend the payload ;-) A HTTP 100 basically states "ok based on your headers I won't reject your body data, so send it now" - handy for services which need to check specific headers. Imagine if the client sent 5MBs of data only to have it knocked back because an authorization header wasn't present. :-) I suppose a better solution would be to use the 100-Continue properly (i.e. send headers + with an expect header and no body) or send HTTP/1.0 requests. HTH Danny. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php