Both Microsoft and Google plan to put forth proposals at the Internet Engineering Task Force (IETF) meeting this week to make the Web--specifically its HTTP protocol--run faster.
Microsoft's proposal encompasses some of Google's ideas, but there's enough difference between the two proposals that there will probably be some friction before it's all ironed out. But where would technology be without arguments over standards? That's what keeps everybody busy.
HTTP governs how servers and browsers respond to various commands. Entering a URL, for instance, sends an HTTP command requesting a specific Web page. Google's SPDY proposal offers four improvements on the current protocol to speed up Web pages:
- the ability to issue multiple concurrent requests
- the ability to prioritize requests
- the ability to compress headers to lessen the impact of redundant information
- the ability to push data from servers to clients without specific requests
(I love no. 2, but I doubt anybody's going to code a page to have the ads show up last rather than first.)
The Google team notes that SPDY "attempts to preserve the existing semantics of HTTP," a concept that Microsoft claims to believe in as well. Microsoft's HTTP Speed+Mobility proposal believes in maintaining existing HTTP semantics, the integrity of the layered architecture, and using existing standards. But it doesn't agree with a good portion of what Google is suggesting.
Microsoft is proposing upgrading WebSocket for setting up session and session maintenance, and using SPDY for multiplexing and HTTP layering. Where Microsoft differs with Google is in its last two suggestions, according to its proposal: "[T]his proposal removes all congestion management control frames proposed in SPDY, in accordance with the principle of preserving a layered architecture. Instead, any TCP issues raised in the SPDY proposal should be submitted to the relevant working group for consideration. Finally, this proposal regards server push as being outside of the scope of HTTP 2.0 because it is not in line with existing HTTP semantics."
In plain English, Microsoft believes that Google is barking up the wrong IETF committee. In a blog post announcing Speed+Mobility earlier this week, Microsoft's Jean Paoli wrote, "There is already broad consensus about the need to make web browsing much faster. We think that apps--not just browsers--should get faster too. More and more, apps are how people access web services, in addition to their browser. Improving HTTP should also make mobile better."
It's just not clear how Microsoft's proposal will make this happen while Google's won't.