figure 1. sPDY gateway translates between sPDY-capable clients and conventional httP
servers.
situated on high-speed
internet backbone
httP
nytimes.com
sPd Y gateway
httP
facebook.com
sPdY
httP
netflix.com
figure 2. timeline of sPDY-related development milestones.
SPDY
implemented
in Google Chrome
browser
Google begins
serving Search,
Gmail, Maps,
and other major
services over
SPDY to
compatible
Amazon
announces
Kindle Fire tablet
using SPDY
between client
devices and
Amazon servers
to accelerate
browsing
Open-source iOS
SPDY client library
commissioned by
SPDY author
Mike Belshe
worldwide to deploy SPDY gateways
on the high-speed Internet. Content-delivery networks have begun offering SPDY gateway services to Web
site owners as a means of accelerating the performance (as experienced
by users) of their HTTP Web sites. 1, 26
Vendors of mobile devices might deploy SPDY gateways to accelerate the
notoriously slow high-latency mobile
browsing experience, a marketable
feature. Even more intriguing are
the incentives for large Web companies to deploy open (publicly available) SPDY gateways to collect and
mine rich information about users’
Web-browsing behavior, a lucrative
commodity in the business of online
advertising. Interestingly, the SPDY
gateway’s ability to aggregate certain
critical resources may provide benefits above and beyond regular SPDY,
as described later.
SPDY implemented
in Google Android
Honeycomb browser
SPDY
announced as
“early-stage
research
project”
SPDY
implemented in
Mozilla Firefox
browser
Nov.2009
Sept.2010
Feb. 2011
Feb. 2012
Sept. 2011
M ar. 2012
November 2009 post6 on the Google
Chromium blog ( http://blog.chro-
mium.org) describing the protocol as
“an early-stage research project,” part
of Google’s effort to “make the Web
faster.” By September 2010, SPDY
had been implemented in the stable
version of the Google Chrome brows-
er, 14 and by February 2011, Google
quietly flipped the server-side switch
on SPDY, using the protocol to serve
major services (such as Gmail, Maps,
and search) to Chrome and other
SPDY-enabled clients. 4 In February
2011, the Android Honeycomb mo-
bile Web browser received client-side
SPDY support, also with little public-
ity. 13 In September 2011, Amazon an-
nounced its Kindle Fire tablet, along
with the Silk Web browser that speaks
SPDY to Amazon cloud servers. 3 In
January 2012, Mike Belshe, SPDY co-
author, commissioned development
of an open-source Apple iOS SPDY cli-
ent library. 20 In March 2012, Firefox
11 implemented the SPDY protocol, 19
which, by June 2012, was enabled by
default in Firefox 13, 22 bringing com-
bined client-side support (Chrome +
Firefox) to approximately 50% of the
desktop browser market25 (see Figure
3). SPDY is currently an Internet En-
gineering Task Force (IETF) Internet
draft in its third revision. 7
sPDY Protocol
SPDY is designed primarily to address
performance inhibitors inherent in
HTTP, including HTTP’s poor support
for pipelining and prioritization, the
inability to send compressed headers,
and lack of resource push capabilities.
SPDY’s hallmark features—request
multiplexing/prioritization, header
compression, and server push—are described in the following sections:
Request multiplexing and prioritization. SPD Y multiplexes requests and responses over a single TCP connection
in independent streams, with request
multiplexing inspired by HTTP pipelining while removing several limitations. HTTP pipelining allows multiple
HTTP requests to be sent over a TCP
connection without waiting for corresponding responses (see Figure 4).
Though pipelining has been specified
since the 1999 HTTP 1. 1 RFC, 11 Opera
is the only browser that both implements the feature and enables it by default. Other major browsers either do
not implement pipelining or disable
pipelining by default, as compatibility
with older Web proxies and servers is
problematic. Besides a lack of widespread adoption, HTTP pipelining also
suffers from head-of-line blocking, as
the specification mandates resources
be returned in the order they are requested, meaning a large resource, or
one associated with a time-consuming