Windows 10 Technical Preview comes with support for HTTP/2 on both client and server side. The client side folks in IE did a blog post talking about what HTTP/2 is all about and its benefits specifically on the performance side. This blog will detail how to setup an IIS server to communicate to clients over HTTP/2.
How to enable HTTP/2 for IIS on Windows 10 Technical Preview
If your client (browser) is connecting to the IIS server over TLS that negotiates HTTP/2 via TLS extensions, then you do not need to make any change on the server-side. This is because over TLS the h2-14 header specifying use of HTTP/2 Draft 14 is sent by default.
If on the other hand your client is sending an Upgrade header to upgrade to HTTP/2, then you need to make the change below on the server side to ensure that the Upgrade works and you end up with an HTTP/2 connection.
1. Run regedit.exe
2. Browse to registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
3. Create a new DWORD value named “DuoEnabled” (without quotes)
4. Set its value to 1
5. Reboot your server
Once your server and IIS site are up, connecting from an HTTP/2 aware client will negotiate an HTTP/2 connection with your server.
HTTP/2 Demo in Windows 10 Technical Preview
Here’s a step-by-step guide to setting up a HTTP/2 demo on Windows 10 Technical Preview
1. Install Windows 10 Server Technical Preview from Technet Evaluation Center.
2. After installation is complete and you have logged in, launch Server Manager.
3. Click on Add roles and Features on the Dashboard and select Web Server (IIS) from the list.
4. You can install IIS with default options or change the Role Services to suit your needs.
5. After installation is complete, launch inetmgr.exe and create a self signed certificate by selecting the “Server Certificates” option under the server’s Features View.
6. Go to your Default Web Site and under Bindings, create a new TLS binding with the self signed certificate just created.
7. Launch IE from your Windows 10 Technical Preview machine and go to IE Settings and enable F12 Developer Tools and switch to the Network tab on the left. Browse to https://localhost and voila, you are on HTTP/2 !