A year after introducing an alternative update to the venerable HTTP 1.1 protocol as a way to keep Google’s SPDY from becoming HTTP 2.0 by default, Microsoft has posted a prototype HTTP 2.0 server called Katana.
Hypertext Transfer Protocol—the document-request-and-delivery specification that underlies the document-request and viewing processes in both Web applications and corporate legacy applications made over with Web clients to make them more usable—has been tinkered with continually by standards groups since it showed up in 1990, but with relatively few major revisions. Version 1.1 came out in 1999 with improvements that allowed more metadata about the transfer of photos, audio and other non-text files and support of network proxies and virtual hosts.
In 2011, HTTP V 1.2 got better text-menu interfaces and other mobile-computing improvements as well as support for file-server hierarchies that allowed it to function much more like a global networked file system rather than links to documents on a single server.
HTTP 2.0 will add support for multiplexing across asynchronous connections, header compression, request-response pipelining and other features that could improve performance without breaking the semantics of HTTP 1.1.
The push for version 2 was prompted largely by Google’s SPDY protocol, which became the starting point for the IETF working group developing the spec. Microsoft added its own version of SPDY-like features to the mix when it introduced Microsoft Speed+Agility in 2012 and pitched its improvements in security and latency to the SPDY features already adopted by the IETF HTTPbis working group, which released the latest July 9.
SPDY-enabled pages load 64 percent faster than HTTP largely because its session-control functions allow a browser to send more than one request at a time for a document or other resource and manage multiple streams of responses using algorithms that set priorities on different types of data.
SPDY requires more power from the server to support compression and encryption but needs fewer TCP connections that partially offset the additional overhead, according to an analysis earlier this month by Herve Servy, writing on the blog site of Web-app testing-tool vendor Neotys USA.
Microsoft’s Speed+Mobility introduced features designed to improve touchscreen performance, battery life and reduce bandwidth requirements, largely to support tablets running Windows 8, according to testers at ExtremeTech who found that SPDY outperforms HTTP by 40 percent rather than 64 percent.
Google’s own servers support SPDY, as does its Chrome browser. Firefox won’t add SPDY support until version 13.
The draft of HTTP 2 is scheduled for interoperability testing beginning at the IETF working-group meeting in Hamburg, Germany beginning Aug. 5. Microsoft’s Katana server offers an early chance for developers to test HTTP 2, Microsoft’s C#-based implementation on a Windows server and the API architecture it designed for the Katana.
Microsoft has also posted a series of Visual Studio templates and other developer tools on the open-source software development site CodePlex. In addition to supporting HTTP 2, Katana is Microsoft’s implementation of its Open Web Interface for .NET—an effort to adapt the Windows ASP.NET model to the Web and make them more common within non-Microsoft servers and applications.
Microsoft has done one other interesting thing with Katana: Beginning with the release of Visual Studio 2013—of which Katana 2.0 will be a part—Microsoft will remove the requirement that applications built using Katana run only on Windows. “While it may appear to be a small step, we’re very excited as we believe it to be a significant one in the right direction,” Microsoft’s Howard Dierking wrote in the blog explaining the change.
Microsoft has posted the Katana/HTTP 2.0 test code at GitHub.