Full HTTP/2 Support in Windows 10

The Windows 10 supports HTTP/2 not only in its IE12 browser, but also in its IIS. IIS will serve static & dynamic ASPX pages with the new protocol automatically without any additional settings.

Only drawback currently stated by MS here is that sites needs to support HTTPS.

The Browser support

The HTTP/2 is implemented as protocol in WinINet and can be enabled in the Internet Options (IE –> Tools -> Internet Options).

It means any other application when enabled can take advantage of consuming HTTP/2 content. (Namely WWA Hosted Metro applications)

Picture: Enabling HTTP/2 in Internet Options

The Server Support

The server implementation of HTTP/2 is now full full IIS based implementation. It is quite improvement from already published HTTP/2 in Katana which is limited to just „TLSv1.2 and DHE or EDCHE with GCM cipher suite“.

The implementation is most probably inside the HTTP kernel driver called http.sys (as investigated here) and can be used by any HttpListener on Win 10 Tech Preview.

Picture: Internet Explorer 12 with a site using HTTP/2 hosted on IIS

Here is how to create simple HTTPS Site on Win10 IIS

1. Create SSL Certificate in IIS.
Open the IIS Manager, select the server name and from the Features open the Server Certificates

Then select Create Self Signed Certificate in the Right pane:

In the Create Self-Signed Certificate dialog, just fill the name:


2. Created new HTTPS Site in the IIS
Select Add Website from the IIS Hostname in the manager

Fill in the name, physical path, the binding type to HTTPS. The Hostname is usefull to fill in in case of remote access to your Win10. Then you have to select previously created certificate.

Now, we have created the new IIS Site. It will already serve the requests, but we dont have anything to serve yet. I crated simple index.aspx file in my WebSite path (c:\inetpub\testsite) with this content:

<form runat=”server”>
<% Response.Write(“Hello, World !”); %>

Other browsers:

I have also tried accessing using IE 11, which still uses just HTTPS for that site:


In the other hand, Firefox Nightly already implements the HTTP/2 correctly:


Windows 10 is one of first with the full stack implementation of HTTP/2 today. We can now experiment more with our ASPX applications speed.