Does IIS10 support HTTP/2 using ISAPI? [Answered]RSS

3 replies

Last post Jul 23, 2019 02:12 AM by brooksy60

  • Does IIS10 support HTTP/2 using ISAPI?

    Jul 12, 2019 02:34 PM|brooksy60|LINK

    Hi,

    We have ISAPI applications on Windows Server 2016, and we are trying to enable HTTP/2.

    As soon as the ISAPI application is accessed (from an outer application), the connection/session is downgraded to HTTP/1.1. Using Chrome Dev Tools shows the connection gets a HTTP_1_1_REQUIRED error at the end of the HTTP/2 connection negotiation and the connection is downgraded.

    Testing on a local computer, with the simplest of ISAPI applications demonstrates the same behavior. Until I access the ISAPI, that is, plain html/php, the connection will use HTTP/2, but as soon as I access the ISAPI, the session is downgraded, until I close the tab and browser, and restart.

    Can anybody confirm this, and would this imply we need to update to native modules? Or am I missing the "magic"  IIS setting that will get this to work!

    Thanks for any help,

    Mark 

  • Re: Does IIS10 support HTTP/2 using ISAPI?

    Jul 16, 2019 06:42 PM|Thanapat samsan|LINK

  • Re: Does IIS10 support HTTP/2 using ISAPI?

    Jul 18, 2019 06:35 AM|Able|LINK

    Hi brooksy60;

    According to you description,In some situations HTTP/2 would not be able to applied.

    You could see as below.
    1.Windows authentication (NTLM/Kerberos/Negotiate) is not supported with HTTP/2. In this case IIS will fall back to HTTP/1.1.
    2.Clear text - as mentioned above, IIS currently only supports HTTP/2 over TLS. Again, IIS will fall back to HTTP/1.1.
    3.Bandwidth throttling - IIS has a feature to limit bandwidth (in Inetmgr, select the site, 'Limits' under Configure of the Action pane). This applies to HTTP/1.1 but is not enforced for HTTP/2 (will proceed with no errors or bandwidth limiting).

    Here is the link,I hope it could help you.

    https://docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-10/http2-on-iis

    Best Regards

    Able

    Please remember to click "Mark as Answer" the responses that resolved your issue.
    If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.
  • Re: Does IIS10 support HTTP/2 using ISAPI?

    Jul 23, 2019 02:12 AM|brooksy60|LINK

    After investigation of the library being used, I have resolved this issue.

    The library was written a long time ago, and was writing the headers and body using the WriteClient method. As soon as this happens, the connection was downgraded.

    The solution was to refactor the code to use the ServerSupportFunction with the HSE_REQ_VECTOR_SEND request function to write headers and body. So not only do we now have HTTP2 support, but also a bit more performance!

    This has been tested on Windows Server 2016 and Windows 10 Professional.

    Regards,

    Mark