IIS and HTTP/2 server support

19

4

Reading the article "What's new in the .NET framework"...

https://msdn.microsoft.com/en-us/library/ms171868(v=vs.110).aspx

...it states...

Most of the major browsers support HTTP/2, so it's likely that your users will benefit from HTTP/2 support if your server supports it. Give it a try with the RC update.

.. and links to this wiki...

http://en.wikipedia.org/wiki/HTTP/2

Under servers it quotes

IIS supports HTTP/2 in Windows 10 beta

Whilst I clearly understand that Windows 10 is required for browser support I cannot find a clear answer as to what versions of Windows Server/IIS are required - the Wiki answer "IIS supports HTTP/2 in Windows 10 beta" makes no sense as they are not releasing Windows 10 server until next year.

I have searched for an answer and come up with nothing. If we have Server 2008 R2 and Server 2012 R2 will they return HTTP/2 to Windows 10 clients?

Thank you

gchq

Posted 2015-06-11T14:41:16.647

Reputation: 291

Answers

26

IIS versions are bound to OS versions, while IIS 10 on Windows Server 2016 does not come out until 2016, IIS 10 for Windows 10 was released on July 29th 2015 and does support HTTP/2.

In addition to support for HTTP/2 there are a few other new features in IIS 10, but Microsoft may add more before releasing Server 2016

Throughout the lifetime of IIS, Microsoft has never made any new core IIS features available to older versions of that product, so it is very unlikely that they will do that this time.

Considering the large number of IIS 7.x and 8.x servers and the benefits that http/2 brings to the table, it would be very nice, if they would change this policy this time, considering the new Microsoft and all, but I still doubt that.

Peter Hahndorf

Posted 2015-06-11T14:41:16.647

Reputation: 10 677

This answer sounds reasonable, but it would be even better with citations. Can you link to any official documents supporting the claims made in this answer? – a CVn – 2015-06-13T13:02:49.227

@MichaelKjörling - No, I don't know about any official statement about this. I wish I would. My answer is based on personal experience. – Peter Hahndorf – 2015-06-13T13:08:09.980

So basically it's a great feature but will be of no benefit until mid 2016 at the earliest, for most of us with commercial applications could well be five years down the road! Thank you for your answer. Can't up-vote as my other Stack Exchange points don't count on this site :-( – gchq – 2015-06-13T18:14:28.230

1http://blogs.iis.net/davidso/http2 – Josh Robinson – 2015-12-03T15:15:42.037

1

The following table provides a comparison of different client & server implementations:

+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Name                                                         | Language       | Role(s)                      | Negotiation(s)             | Protocol id(s)                           |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| http4s-blaze                                                 | Scala          | server                       | ALPN                       | h2, h2-14                                |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| cl-http2-protocol                                            | Common Lisp    | client, server               | NPN, direct                | h2-14                                    |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Deuterium                                                    | C              | client, server               | ALPN, direct               | h2, h2-14, h2c, h2c-14                   |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| F5                                                           | C              | server, proxy                | ALPN, NPN                  | h2-14 (11.6.0 HF2) h2 (upcoming release) |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| H2O                                                          | C              | Server, proxy                | ALPN, NPN, Upgrade, direct | h2, h2-14, h2-16                         |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| http-2                                                       | Ruby           | server, client               | ALPN, NPN, Upgrade, direct | h2, h2c, h2-17                           |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| http2                                                        | Go             | client, server               | NPN (+ ALPN w/ Go 1.4)     |                                          |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Jetty                                                        | Java           | client, intermediary, server | ALPN, Upgrade, Direct      | h2, h2-17, h2-14, h2c, h2c-17            |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| LiteSpeed Enterprise                                         | C++            | Server                       | ALPN, NPN, Upgrade         | h2, h2-17, h2-14, h2c                    |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Lucid                                                        | Erlang         | Server                       | NPN, direct                | h2, h2-16, h2-14                         |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Microsoft                                                    | C/C++          | Client, Server               | ALPN                       | h2                                       |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| mod_h2                                                       | C              | Server                       | ALPN, NPN, Upgrade, direct | h2, h2c (plus -14,-16)                   |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Netty                                                        | Java           | client, server               | ALPN, NPN, Upgrade, direct | h2, h2c                                  |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| nghttp2                                                      | C              | client, server, intermediary | ALPN, NPN, Upgrade, direct | h2, h2-16, h2-14, h2c                    |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| node-http2                                                   | NodeJS         | server, client               | ALPN, NPN, direct          | h2                                       |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| OkHttp                                                       | Android, Java  | mock server, client          | ALPN, NPN                  | h2                                       |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| OpenLiteSpeed                                                | C++            | Server                       | ALPN, NPN, Upgrade         | h2, h2-17 , h2-14, h2c                   |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Protocol::HTTP2                                              | Perl           | server, client               | ALPN, NPN, Upgrade, direct | h2, h2c                                  |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Brocade SteelApp Traffic Manager (formerly Riverbed/Zeus TM) | C++            | Server                       | ALPN, NPN, Upgrade, direct | h2, h2c                                  |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Sasazka                                                      | NodeJS         | server                       | NPN                        |                                          |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| second-transfer                                              | Haskell        | server                       | ALPN                       | h2-14, h2                                |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Trusterd                                                     | C/mruby        | client, server               | ALPN, NPN, direct          |                                          |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Twitter                                                      | C++            | server, client               | ALPN, NPN                  | h2                                       |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Undertow                                                     | Java           | Server, Intermediary         | ALPN, Upgrade              |                                          |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+
| Warp                                                         | Haskell        | Server                       | ALPN, direct               |                                          |
+--------------------------------------------------------------+----------------+------------------------------+----------------------------+------------------------------------------+

Links to products since I don't know how to keep table format with links inside.

Matas Vaitkevicius

Posted 2015-06-11T14:41:16.647

Reputation: 963