Google has just
announced that it is working on a
new protocol
that will minimize latency and speed up the Web experience for users.
SPDY (pronounced "speedy") is not meant to replace HTTP, the protocol
that allows Web servers and browsers to talk to each other today, but
it does augment HTTP. The new protocol incorporates features like
multiplexed streams, request prioritization and HTTP header
compression.
Google has already developed a prototype Web server and a
version of Google Chrome with built-in SPDY support.
Google claims
that pages loaded 64% faster in lab tests in which the research team
downloaded the top 25 websites. Now that the SPDY team has developed
workable prototypes, Google decided to open up the process and is
soliciting the "active participation, feedback and assistance of the
web community."

In
today's announcement, Google stresses that SPDY is not a replacement
for HTTP. It uses HTTP methods and headers, but it overrides the parts
of the protocol that manage connections and data transfer formats.
Google will soon release its open-source SPDY-enabled Web server.
The source code for the SPDY-enabled version of Chrome can be found
here.
Creating a Faster and More Secure Web
According to the
SPDY white paper,
the project's goals are to reduce page load times by 50%, minimize
deployment complexity and avoid the need for website owners to make any
changes to their sites to implement SPDY. Instead, all the hard work
will happen in the client and the Web server.
The team also wants SPDY to allow many concurrent HTTP requests to
run across one TCP session and to make SSL the standard transport
protocol.
Google clearly has an interest in making the Web experience as fast
and secure as possible for its users. One of the reasons Google
released its own browser was to get every other browser developer to
focus on speed again. SPDY is even more ambitious. With SPDY, Google
wants to change one of the most fundamental protocols on the Internet.
According to Google, these are the basic improvement of SPDY over HTTP:
- Multiplexed
requests. There is no limit to the number of requests that can be
issued concurrently over a single SPDY connection. Because requests
are interleaved on a single channel, the efficiency of TCP is much
higher.
- Prioritized requests. Clients can request
certain resources to be delivered first. This avoids the problem of
congesting the network channel with non-critical resources when a
high-priority request is pending.
- Compressed headers.
Clients today send a significant amount of redundant data in the form
of HTTP headers. Because a single Web page may require 50 or 100
subrequests, this data is significant. Compressing the headers saves a
significant amount of latency and bandwidth compared to HTTP.