SPDY

2009 - 2016
dead
may 2016 is when chrome stopped speaking it, and by then there was nothing left to kill. spdy spent six years as google's experiment in making http faster, proved the point on enough of the real web to matter, then handed its design to http/2. the protocol won the argument and lost the name.

~ the obit ~

On 11 November 2009 the Chromium team put up a blog post called "A 2x Faster Web" and attached an experimental protocol to it. The web ran on HTTP/1.1, a design from 1997 that opened a new connection for every few files and sent the same headers over and over on each one. SPDY kept the semantics of HTTP and replaced the plumbing underneath: one encrypted connection per site, carrying many requests at once instead of queueing them behind each other.

It was never a standard and never pretended to be. Google shipped it in Chrome 6 in September 2010 and turned it on across its own services, which meant that from the start the protocol had both ends of the conversation under one roof. Mozilla added it in Firefox 11. Nginx picked it up and Apache got mod_spdy, so for a few years a measurable share of the world's page loads were running on something that existed because two engineers at Google wanted to find out how much of HTTP's slowness was the protocol's fault.

The answer was: enough. In late 2012 the IETF working group rebuilding HTTP took SPDY as the starting draft rather than writing from scratch, and what came out the other end as RFC 7540 on 15 May 2015 was recognizably the same protocol with different framing details. Google announced that February that SPDY was on the way out. A year later, on 11 February 2016, it named the date: Chrome would stop speaking SPDY after 15 May 2016, exactly one year after HTTP/2 became a standard. Nginx had already dropped it in September 2015, and Firefox removed it in version 50.

I was a computer engineer in Ankara for all of this, on a TTNet line, hitting Google's own servers every day in Chrome. So I used SPDY for about five years without once deciding to. Protocols are the layer you inherit rather than choose: you pick a browser, your host picks a server, and the negotiation underneath happens in a handshake nobody looks at. The one time it ever surfaced was as an error page, and ERR_SPDY_PROTOCOL_ERROR outlived the protocol by years, still appearing in Chrome long after there was no SPDY left to fail.

~ the rap sheet ~

Born11 November 2009, announced on the Chromium blog under the title A 2x Faster Web
Peakspoken by Chrome and Firefox to most of Google's front end
Killed15 May 2016, support removed in Chrome 51
Lifespan6 years, 6 months
Made byMike Belshe and Roberto Peon at Google
Killed byHTTP/2, which was mostly SPDY with a different name on it

~ what it actually did ~

Two changes carried most of the gain. The first was multiplexing: instead of a browser opening six parallel connections and queueing files behind each other, every request for a site went down a single connection and came back interleaved. The second was header compression, which mattered more than it sounds, because a page with eighty assets was sending eighty nearly identical cookie-laden headers for no reason.

There was also server push, where a server could send you the stylesheet before the browser knew to ask. It survived into HTTP/2 and was used far less than anyone expected. Chrome switched it off by default in 2022.

~ the handover ~

Standardizing a vendor's protocol is usually a fight, and this one mostly was not. The IETF working group opened its HTTP/2 effort in 2012 and adopted SPDY as draft one rather than starting from a blank page; Microsoft put a competing proposal in and it lost on the merits of running code. What shipped three years later as RFC 7540 was a protocol designed inside one company, deployed against that company's own servers, with nothing in the final text carrying its name.

SPDY's own death was scheduled rather than suffered. Google gave a year of notice, picked an anniversary for the switch-off, and the deprecation went through with no drama because the successor was already installed everywhere the original had been.

~ leave a rose ~

an anonymous tribute. one rose per visitor per day.

@}-->-- ... roses left here

~ leave a wreath ~

a rose fades by morning. a wreath stays on this grave for good, with your name on it.

from $1, paid once through stripe. it keeps the graveyard running: the hosting and the nightly digging. adopt it and the headstone reads "maintained in memory by" you. the groundskeeper plants new wreaths at the next tending, usually within a day.

» one email a week: new graves and the anniversaries of the dead. subscribe

~ leave a note ~

visitors before you have left these graveside notes. anonymous welcome.

other protocols: Mozilla IRC, Dukgo, dns0.eu, JXTA

also died in 2015-2019: Radical.fm, Facebook Moments, Beejive

« previous  ·  random  ·  next »