As development of the HTTP 2.0 protocol moves forward, Microsoft has also posted a prototype server called Katana, an HTTP 2.0 server for testing both in Web serving and a .Net environment. The code can be found on GitHub.
HTTP, or Hypertext Transfer Protocol, is the means with which we request and fetch documents over a Web browser. Version 1.0 came out in 1990, when Tim Berners-Lee first introduced us to the World Wide Web, and it got a tweak in 1999 with v1.1. It would be another 12 years before HTTP 1.2 came out, although the world is still largely using v1.1.
Interoperability testing for HTTP 2.0 is expected to begin this month and the complete spec should be done in a year. Version 2.0's new capabilities include multiplexing, where you can send as many requests as you like at the same time rather than one at a time, plus header compression, request-response pipelining and other features designed to make Web pages load faster and improve API functionality, all without breaking 1.1 compatibility.
At the same time, Google has been working on its own protocol, called SPDY (not an acronym), that was more or less designed to light a fire under the IETF and get working on an update to HTTP 1.1. SPDY and HTTP 2.0 are now largely the same protocols with slight differences, and Google has no intention of going into competition with HTTP 2.0.
SPDY eventually became the starting point for the IETF working group developing the HTTP 2.0 spec, plus Microsoft made its own contribution with Microsoft Speed+Mobility, or Microsoft SM, in 2012. SM modifies the way HTTP requests are sent over the wire to reduce page load times. Again, it was designed to work with HTTP 2.0, not compete with it.
In a series of tests run by Web performance specialists Neotys, SPDY greatly increased the amount of pages that could be served up, while at the same time reducing CPU and memory overhead. It required fewer Apache threads and at the same time increased the load.
Microsoft’s Katana server is intended for developers to get a jump on testing HTTP 2. It also posted a set of Visual Studio templates and other developer tools on CodePlex for building applications.
Microsoft is also making Katana its implementation of its Open Web Interface for .NET (OWIN), which will allow ASP.NET apps to talk to the Web and other apps, including non-ASP.NET apps. The OWIN architecture has several layers: host, server and middleware. Authentication is done through IIS.