HTTP/2 (HTTP2 or SPDY) on .NET

Aaron Thomas picture Aaron Thomas · Feb 19, 2015 · Viewed 19.3k times · Source

There's been a lot of news lately about the HTTP/2 standard, very similar to Google's SPDY.

It seems like most modern browsers support much of the functionality the finalized HTTP/2 draft lays out (see here, for example).

But, from the viewpoint of server side coding using ASP.NET and IIS, it's difficult to find much information from Microsoft about how this standard will be used in the .NET framework, especially with ASP.NET (see here).

What options are available for incorporating the technologies available through HTTP/2, in a solution currently using .NET framework 4 or above?

Also, has anyone found any news from Microsoft about if the System.Net namespaces and classes will be updated?

Sorry for the basic question formats - I'm new to web development, and just want to make sure I stay on track of new and emerging technologies.

Answer

usr picture usr · Feb 19, 2015

2016-07-21:

HTTP/2 requires Windows 10 or Windows Server 2016 on the server side. Those operating systems ship with IIS 10. So far IIS 10 has not been made available for installation on older operating systems. Given past behavior it is unlikely it ever will become available on downlevel operating systems.

With SSL enabled (which is a requirement of the HTTP/2 protocol), IISExpress on Windows 10 will begin interacting with the browser using the updated protocol.

(https://weblogs.asp.net/scottgu/released-today-visual-studio-2015-asp-net-4-6-asp-net-5-ef-7-previews)

Given that HTTP/2 does not change any of the HTTP semantics I do not expect applications to do anything special to make use of that. It should work with any .NET version and any framework. I have not tried it, though.


February 2015:

For now you need a proxy server in front of IIS. Or a CDN which does HTTP 2. I expect all major ones to very quickly support it given that all browsers already support it.

The Win10 version of IIS will support HTTP 2 according to currently available Microsoft information.

I'm pretty sure the network BCL classes will be updated eventually given how much steam is behind HTTP 2. All clients and servers seem to be willing to support it very quickly.