Further to our recent Blog on the first HTTP/2.0 implementable draft from the IETF, Microsoft Open Technologies, Inc. (MS Open Tech) is releasing an HTTP/2.0 server prototype based on the implementable draft. This is the first in a series of experimental implementations of HTTP/2.0 that will enhance the performance of the web.
This implementation of HTTP/2.0 is based on the recent version 4 implementable draft and has been created on a new Microsoft open source C#-based web stack - Katana server. The prototype supports header compression (draft-ietf-httpbis-header-compression-01), HTTP/2.0 features such as stream multiplexing, and negotiation mechanisms such as ALPN and HTTP upgrade, as well as the ability to establish direct HTTP/2.0 connections. It does not yet implement server push or flow control. Apart from the server component, this prototype also includes a test command line client that makes HTTP/2.0 protocol requests to the server.
To enable the community to try out this implementation of HTTP/2.0, we have also published endpoints (note these require HTTP/2.0 client included in source):
http://http2katanatest.cloudapp.net:8080/ - HTTP endpoint.
https://http2katanatest.cloudapp.net:8443/ - HTTPS endpoint using ALPN.
These endpoints will only work with an HTTP/2.0-enabled browser or client, and host static pages that represent common websites, based on examples from the Internet Explorer Test Drive site.
As communicated in our previous Blog, participants in the IETF HTTP working group have committed to a wide range of implementations. MS Open Tech is actively engaged and prototyping further HTTP/2.0 implementations based on the Katana project. Early interoperability testing is planned for the third interim face-to-face IETF meeting in August. We encourage you to start trying out the first implementation of HTTP/2.0 from MS Open Tech today – feel free to test using the endpoints listed above or download the code and try out your static websites on the Katana server.