« Previous Next »

Answered Thread: IIS 5 incorrectly sending 100-continue response

Last post 11-04-2009 5:02 AM by WenJun Zhang - MSFT. 3 replies.

Average Rating Rate It (5)

RSS

Page 1 of 1 (4 items)

Sort Posts:

  • 10-28-2009, 4:58 PM

    IIS 5 incorrectly sending 100-continue response

    Intermittantly, IIS 5 will send a 100 Continue response to a POST  - without receiving the necessary client Expect request-header field with the "100-continue" expectation.

     I am not sure if this is causing any problems, but I would like to know if it is something that can be corrected.

     

    Thanks and God Bless,

    Jason

  • 10-28-2009, 7:42 PM In reply to

    • lextm
    • Top 10 Contributor
    • Joined on 10-22-2008, 12:18 AM
    • Shanghai, PRC
    • Posts 1,433

    Re: IIS 5 incorrectly sending 100-continue response

    Hi Jason,

    Are you sure you are using IIS 5 on Windows 2000?

    I can only find such a behavior for IIS 6 on Windows 2003 and we have a hotfix for that,

    923507    The HTTP protocol stack in Windows Server 2003 sends a "100 Continue" packet to the client even though the HTTP request does not contain an "Expect: 100-Continue" header
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;923507 

    Lex Li
    Support Engineer at Microsoft
    ---------------------------
    This posting is provided "AS IS" with no warranties, and confers no rights.
  • 10-29-2009, 9:15 AM In reply to

    Re: IIS 5 incorrectly sending 100-continue response

    Yes, Server 2000 SP4, IIS 5.

     Thank you for your reply.

     God Bless, Jason

  • 11-04-2009, 5:02 AM In reply to

    Answered Re: IIS 5 incorrectly sending 100-continue response

    Hi Jason,

    This is expected behavior. In IIS5, it will always be sent for PUT/POST requests... you can't turn it off. in IIS6, we will only send the 100 Continue if http.sys has not received any entity body in the same packet as the headers.

    Your client should figure out how to deal with it or it should send HTTP/1.0 requests instead where we don't send the 100 Continue

    Below is some more  detailed explanation on this:

    IIS will always send a 100-Continue response for a POST request coming from an Http
    1.1 client, there is no way to turn that off through some configuration.

    So, in order to make IIS not send the 100-Continue:

    1. You could send an HTTP 1.0 request as a client side workaround.
    I found that with ServerXMLHttp you can do this if you use the ServerXMLHttp
    component in MSXML3.0, and not the one in MSXML4.0.
    In order to do that you will have to use the version dependent progID -
    'MSXML2.ServerXMLHTTP.3.0'

    Here is a trace when using the "MSXML2.ServerXMLHTTP.3.0" object:
    HTTP: Request Method = GET
    HTTP: Uniform Resource Identifier = /postinfo.html
    HTTP: Protocol Version = HTTP/1.0
    HTTP: Accept-Language = en-us
    HTTP: Content-Length = 0
    HTTP: Accept = */*
    HTTP: User-Agent = Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)
    HTTP: Host = aatest
    HTTP: Connection = Keep-Alive

    2. You can send a GET request if possible, instead of a PUT/POST. There is no 100
    Continue
    response sent back for a GET request.

    3. You can write an ISAPI filter that 'eats' the 100-Continue response.

    A similar thread:

    http://forums.iis.net/t/1061594.aspx

    WenJun Zhang - MSFT
    Sincerely
    Microsoft Online Community Support

    “Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. ”
Page 1 of 1 (4 items)
Microsoft Communities