Google’s SPDY protocol to speed up web browsing

Posted on November 18, 2009


Google’s, ‘let’s make the web faster’ initiative aims to bring the ease of turning the pages of a book. to the web. Towards that end the search engine company has been experimenting with alternative protocols to cut the latency of web pages.

In a data network like the internet, latency is a measure of how much time a packet of data takes to get one designated point to another. The less the amount of latency, the less time it takes for a packet of data to reach an particular point from another and therefore the faster is the network.

Google has developed the SPDY protocol, an application level protocol for transporting content over the web to cut down latency and additionally has also developed a SPDY-enabled Google Chrome browser and open-source web server.

The lab tests it has conducted have shown up improvement in performance to the extent of 64 per cent reduction in page load times in SPDY over HTTP, the application level protocol providing basic request / response semantics.

Though HTTP has proved to be robust application level protocol, it was not designed to handle the kind of demands web pages transmitted today, which are significantly different from the kind 10 years ago, place on a protocol. HTTP therefore falls short on a number of features some of which are:

  • Single request per connection allows only one resource at a time to be fetched
  • Only client can initiate requests in HTTP. Server cannot inform client even if it knows the client needs a resource. Consequently it has to wait for a request for the resource from the client.
  • Uncompressed request and response headers –Request headers range in size today from 200 bytes to over 2KB which can cause significant latency for modems or ADSL connections with low up-link bandwidth.

SPDY addresses the demands of today’s networking through a number of innovative design features. It incorporates a session layer atop of SSL for multiple concurrent, interleaved streams over a single TCP connection. It allows bidirectional streams i.e. both client and server can initiate streams.

So is SPDY a replacement for the HTTP protocol? Google says No, SPDY only replaces some parts of HTTP, but for the larger part augments it and at the highest level of the application layer, the request-response protocol remains the same. In fact, SPDY uses HTTP methods, headers and other semantics but overrides other parts of the protocol such as connection management and data transfer formats.

Google says through the lab tests it has conducted with SPDY have demonstrated excellent results, how well they represent the real world it does not know. Also there are several areas in which SPDY could be improved. Google has called upon interested individuals, groups etc to get involved:

  • Send feedback, comments, suggestions etc to the chromium-discussion group
  • Download, build, run and test the Google Chrome client code
  • Contribute improvements to the code base