Raise your hand if you hate the idea of the Web running faster! Yeah, I thought so. In apparent frustration with not being able to deliver their massive array of content as quickly as they'd like, Google (news, site) is working on this very problem.

Meet SPDY

In order to make those bits and bytes really fly, Google is working on a protocol called SPDY ("SPeedY"). SPDY is aimed at streamlining TCP/IP's Internet_Protocol_Suite application layer, where HTTP currently reigns when it comes to the Web.

SPDY2.jpg
The Open System Interconnection (OSI) Reference Model for computer network protocols as compared with TCP/IP.

Why SPDY?

According to the current draft for the SPDY protocol, HTTP "relies on multiple connections for concurrency, causing bottlenecks." Essentially, HTTP servers and clients throw a lot of requests at each other all at the same time, and there's a lot of overhead and inefficiency in managing those connections.

HTTP 1.1 in a way made the problem worse with the addition of HTTP pipelining, where multiple requests are sent out without waiting for responses. While pipelining does speed up page loads, it can also cause problems with some of the connections being blocked, and many proxy servers don't handle pipelining well.

Google (or any single entity) can't reach out and fix everyone's proxy servers, and HTTP isn't about to be completely re-architected. So, they're proposing essentially a souped-up HTTP by having SPDY work on multiple network layers and yet retain compatibility with current Web technology.

Inside SPDY

According to the Google document, SPDY "adds a framing layer for multiplexing multiple, concurrent streams across a single TCP connection.  The framing layer is optimized for HTTP-like request-response streams."

Essentially, SPDY initiates a connection the same way TCP connections are always opened. But then SPDY splits into two layers that both technically reside in the application layer. One layer contains the HTTP-compatible communications, while the other layer contains communications necessary to regulate the flow of data.

SPDY3.jpg

SPDY involves an extra network layer in TCP/IP for managing client-server sessions.

In their SPDY white paper, Google states that lab tests so far show up to 64% reductions in page load times using SPDY.

Another Flash in the Pan?

SPDY isn't the first attempt to improve HTTP latency, with many aiming to replace the transport layer portion of the connections. Whether SPDY's approach will find broader acceptance remains to be seen, and may partly depend on how hard Google pushes for people to use it. All it would take is making it impossible to reach certain services without SPDY-enabled software.

When you're the 300lb gorilla of the Web, that's an option.