0

I've set up https on our Azure DevOps Server 2020.0.1 and want IIS to serve the website over http/2. When browsing the website with a Chromium based browser (Chrome, Edge) all content is served over http/1.1. When browsing with Firefox static content of the website is served over http/2 and api generated content is served over http/1.1.

I want that all content in all mentioned browsers is served over http/2. Is that possible?

OS is Windows Server 2016.

awineb
  • 101

2 Answers2

1

Not all IIS features are enabled for HTTP/2, so sometimes your browser can only connect via HTTP 1.1. Microsoft documents the scenarios in this,

When is HTTP/2 Not Supported?

In a few cases, HTTP/2 can't be used in combination with other features. In these situations, Windows will fall back to HTTP/1.1 and continue the transaction. This may involve negotiating HTTP/1.1 during the handshake, or sending an error code to the client instructing it to retry over an HTTP/1.1 connection.

  • Windows authentication (NTLM/Kerberos/Negotiate) is not supported with HTTP/2. In this case IIS will fall back to HTTP/1.1.
  • Clear text - as mentioned above, IIS currently only supports HTTP/2 over TLS. Again, IIS will fall back to HTTP/1.1.
  • 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).
Lex Li
  • 912
  • 6
  • 10
  • so maybe Windows authentication is the reason why some parts of Azure DevOps Server are served over HTTP/1.1 – awineb Jul 28 '21 at 12:21
0

This is what I have found on my "why is chrome using http/1.1 quest". It appears to be a known bug, that chromium falls back to http/1.1.

https://bugs.chromium.org/p/chromium/issues/detail?id=832586

Nils
  • 1