Google wants SPDY to replace HTTP: but what is it?

David Braue
20 November 2009, 9:39 AM


First, Google wanted to reinvent email with Wave. Now it wants to reinvent the web protocol and replace it with SPDY.


First Google wanted to change the way we communicate with its Google Wave environment. Now, the Web behemoth wants to make your Internet run faster – and all it's going to take is a new protocol that will fundamentally change the way Web sites are delivered.

Already well known for its game-changing technological innovations, Google this week put up not only a vision for speeding the Web – but published real source code and a draft specification for SPDY (pronounced "speedy"). This new data transport protocol, Google says, has proven capable of pushing Web sites across the intertubes up to 64% faster than HTTP (HyperText Transport Protocol). All we have to do to see those benefits, Google is arguing, is to replace HTTP.

Easier said than done: that's like saying we can communicate faster if we ditch English for Esperanto. Carried along via the Internet's TCP (Transmission Control Protocol), HTTP protocol has been part and parcel with the World Wide Web since its inception. But in laying down its case (white paper, including comparative benchmarks, here [http://sites.google.com/a/chromium.org/dev/spdy/spdy-whitepaper]), Google argues that HTTP is showing signs of age. Among the issues:

  • HTTP can only fetch one file from a server at a time. Modern browsers run up to six simultaneous connections, but the process is still less than ideal. To see why, load a complex Web site and watch the status-bar indicator churn through dozens or hundreds of page elements one after the other.
  • HTTP requests must all be initiated by the Web browser; this means servers have no choice but to sit waiting for the client to ask for each individual piece. Think of that old lady counting out $9 in 5c pieces in front of you at the 7-Eleven, and you get a pretty good picture of what's going on.
  • HTTP isn't compressed or tokenised, with headers from between 200 bytes to 2000 bytes resulting in lots of wasted bandwidth – and severely impacted performance over modems and slower ADSL connections.
  • Data cannot be natively compressed using HTTP, which also has a habit of overcompensating by sending too many packet requests per channel.

SPDY, by contrast allows servers to push down bits of the site it knows the browser will need, much like the gas station attendant helping the customer finish faster by pulling her coins across the counter several at a time. SPDY also compresses headers and data packets, and overcomes HTTP's problematic open design by securing all data and user sessions using SSL. This does, Google concedes, introduce a performance overhead but the company also argues that it improves session integrity and security.

Most important from a speed perspective, SPDY can manage multiple sessions at once – allowing it to pull down content faster in a method not dissimilar to that used by BitTorrent, which transmits large files as loads of tiny packets from many sources.

"We believe that there is much low-hanging fruit to be gotten by addressing the shortcomings at the application layer," Google engineers wrote in its blog. "Such an approach requires minimal changes to existing infrastructure, and (we think) can yield significant performance gains."

And how would you use it? SPDY would most likely be implemented as a new type of Web address. For example, http://apcmag.com would become spdy://apcmag.com. Updates to current browsers – no points for guessing that Google's Chrome may be the first to support it – would allow them to parse a spdy:// address.

Widespread support for SPDY in Apache and other Web servers would make the transition relatively smooth: since the data that comprises the Web sites themselves wouldn't change, the only new technology needed would be a way to detect SPDY compatibility and then the SPDY engine itself.

To hasten the adoption of SPDY, Google has published a draft SPDY protocol specification and released the source code as well.

What do you think? Is HTTP due for a revamp? Is Google the one to make it happen?


Post your comment



Comments

RSS feed Email alert

Raindog (User):

What do you think? Is HTTP due for a revamp? Is Google the one to make it happen?

Most of the internet standard protocols are well past their use-bys. Email in particular. That's the bitch with standards they soon become impedaments. But without them your stuffed too.

is Google the one? Well they are better positioned than most, but they'd want a better effort than WAVE. Any standard still needs to be open and readily implemented on the largest variety of platforms and systems, and not be what are essentially overblown vendor apps.



20 November 2009, 9:57 AM (2 years ago)report abuse Send to a friend reply

tl8 (New user):

I am all for Google taking over the web, but this is a bit too far

Is this a external protocol or is it one that Google has made?

20 November 2009, 10:01 AM (2 years ago)report abuse Send to a friend reply

Tin (Regular user):

Quoting tl8:
Is this a external protocol or is it one that Google has made?


Some people at Google have written the draft. Google has made the draft, but I suspect there will be a lot of input from other people. It would be really good if MS was involved too, because that would reduce any problems.

20 November 2009, 11:40 AM (2 years ago)report abuse Send to a friend reply

Aubrey (User):

Sounds fine to me - introducing it as an additional protocol should not be of concern. If the major standards-compliant browser devs (Mozilla, Google, Safari, Opera, Epiphany) see it as reasonable and it does not have perverse implications for server loads, whats' the problem? (apart from the fact that MS will add or subtract some minor but essential feature that is non-compliant and then seek to rewrite the standard around it).

Proceed immediately after adjusting your clothing. But do please take a cut lunch and keep a cardy in the car.

20 November 2009, 10:46 AM (2 years ago)report abuse Send to a friend reply

Raindog (User):

Quoting Aubrey:
introducing it as an additional protocol should not be of concern. If the major standards-compliant browser devs (Mozilla, Google, Safari, Opera, Epiphany) see it as reasonable ......

Quoting Aubrey:
whats' the problem?

Just the usual problem of parallel development, transitional phases and all that, so before adopting a new xxx:// protocol you need to be sure of sufficient take up. In this case I would say that would be decided by the adoption or not of popular browsers firsrt and web developers second. The masses simply follow lemming like to wherever they are led.

This is a much better solution path than something like say Skype which crams proprietory options into workarounds on existing protocols.


Quoting Aubrey:
apart from the fact that MS will add or subtract some minor but essential feature that is non-compliant and then seek to rewrite the standard around it

As the market becomes more infored, the MS specific branches are now being treated with the disdain they deserve, with most recent efforts being ignored or bypassed till they've dissapeared without trace. That must be IE compliant mantra to work is gone, with IE now making efforts to toe stardard lines if it wishes to remain relevent.


Quoting Aubrey:
Proceed immediately after adjusting your clothing. But do please take a cut lunch and keep a cardy in the car.

Cut-lunch? I guess it's once a civil servant always a civil servant, besides you forgot please log your milage at the points of arrival and departure to ensure a full reimbursement. :>


21 November 2009, 8:49 AM (2 years ago)report abuse Send to a friend reply

CCCMikey (New user):

Satellite users would love it. The 1000ms round trip per batch of page elements would be much faster if it was just one big download.

21 November 2009, 12:23 AM (2 years ago)report abuse Send to a friend reply

EoGuy (New user):

You said "ditch English for Esperanto."

Esperantists do not want anyone to ditch any language.

We just want everyone to use Esperanto as a second, neutral bridge language between speakers of different national languages.

Esperanto - the foreign language that works!

esperanto-usa.org

Vilchjo de Mesao Arizono, Usono

21 November 2009, 6:42 AM (2 years ago)report abuse Send to a friend reply

Raindog (User):



Quoting EoGuy:
You said "ditch English for Esperanto."

Esperantists do not want anyone to ditch any language.


Which is why the phrase was preceded with "that's like saying we can". If we are talking language it would be a good idea to consider analogy is not necessary suggestion. An example of the communication power of the English language.


21 November 2009, 8:34 AM (2 years ago)report abuse Send to a friend reply

IAmTheLord (New user):

No thanks, they can stick that us there google.

Firstly companies like, Mozilla, Microsoft, Runecats, Apple etc.. would have to recreate there browsers.

Secondly we will have to download these new browsers, we could use Google Chrome or wait a while for everyone else to develop theirs.

Will we need to right in the protocol like: spdy://www.test.com or what because that doesn't look good.

I am all for changing the way we use the net and how it works however I would like more benefit than speed.

22 November 2009, 6:53 AM (2 years ago)report abuse Send to a friend reply

IAmTheLord (New user):

Also will web developers like myself have to rewrite my website, if so all content on the web would have to be recoded, software like frontpage, dreamweaver, NVU would have to be recreated too.

To me it sounds like the bad points out weight the good points.

22 November 2009, 6:56 AM (2 years ago)report abuse Send to a friend reply

Tin (Regular user):

Quoting IAmTheLord:
Also will web developers like myself have to rewrite my website


I think you missed the article. No. They are changing the transmission protocol, not the content.


Quoting IAmTheLord:
if so all content on the web would have to be recoded, software like frontpage, dreamweaver, NVU would have to be recreated too.


Lucky they aren't changing HTML then.


Quoting IAmTheLord:
To me it sounds like the bad points out weight the good points.


To me it sounds like someone didn't read the article, or at least fails to understand how the internet works.

22 November 2009, 7:54 PM (2 years ago)report abuse Send to a friend reply

Tin (Regular user):

Quoting IAmTheLord:
Firstly companies like, Mozilla, Microsoft, Runecats, Apple etc.. would have to recreate there browsers.


No they won't. They'll need to add another protocol. Most browsers already support HTTP, HTTPS, FTP and sometimes others. Adding SPDY would be as simple as writing suitable code and adding it alongside.


Quoting IAmTheLord:
Secondly we will have to download these new browsers


Poor baby. Given that most browsers release security updates every few months at the latest, I can't see this being a problem.


Quoting IAmTheLord:
Will we need to right in the protocol like: spdy://www.test.com or what because that doesn't look good.


Ummm, yes. That's how it would know to use it. And what do you mean it doesn't look good? How does http:// look any better than spdy://?



Quoting IAmTheLord:
I would like more benefit than speed.


I have a spare dialup modem I'm trying to sell...

22 November 2009, 7:51 PM (2 years ago)report abuse Send to a friend reply

Raindog (User):

Quoting Tin:
I have a spare dialup modem I'm trying to sell...

Checked the progress of the NBN recently? Probably best you hang on to that modem for a bit yet. :>


22 November 2009, 8:19 PM (2 years ago)report abuse Send to a friend reply

IAmTheLord (New user):

No thanks, they can stick that us there google.

Firstly companies like, Mozilla, Microsoft, Runecats, Apple etc.. would have to recreate there browsers.

Secondly we will have to download these new browsers, we could use Google Chrome or wait a while for everyone else to develop theirs.

Will we need to right in the protocol like: spdy://www.test.com or what because that doesn't look good.

I am all for changing the way we use the net and how it works however I would like more benefit than speed.

22 November 2009, 6:56 AM (2 years ago)report abuse Send to a friend reply

CCCMikey (New user):

I should imagine that if this took off a few things would happen.

1 - Web browsers would try spdy protocol first, and if the web server says "what the..." the browser would drop back to http. (No bugger's gonna want to type spdy:// in all the time.)

2 - Apache and other web servers would have an HTTP to SPDY service and attempt to pipeline all the http components into the spdy protocol and zap 'em off. (The server has virtually no latency per http element so it should be able to do this rapidly on most pages.)

22 November 2009, 12:13 PM (2 years ago)report abuse Send to a friend reply

Ausman (New user):

Bring it on. We know we will always find problems with current ways of doing things and should design to allow imptovement. Get feedback, submit it for standard approval and introduce it at the end of next year. Then on the the other protocols. Seriously we can improve so much quickly in the field of software compared to hardware but hold ourselves back because of imposed limitations. 32 bit apps on a 64 bit OS anyone? Internet services used for purposes they were never designed for?
Look at how much legacy support/design is still in Windows 7 and you wonder why given most of the hardware used to run it was purchased in the last three years and MS dictates the interface/driver specs... I'm all for big companies using their power to improve/innovate when they don't have to. Sure beats many other industries who have to be dragged into the 21st century because people keep tolerating old crap designs they still make money from. Car engines, house building, light globes, copper based data lines. etc ;-)


26 November 2009, 12:48 PM (2 years ago)report abuse Send to a friend reply

Discosis (New user):

Some thoughts as a developer.

You don't want the browser to 'try spdy' when you navigate to "http://xxx". That's flat out not using the protocol you specified.

What I think is needed therefore is a tag to go into an HTML page , or some kind of HTTP response header which says to the browser "hey, if you support spdy, you can use it". This would indicate to the browser that spdy is available and the browser can ask the user if they'd like to switch to it (or the user preference can say 'always use spdy where available').

So then, with protocol advice + compatibility sorted, you're building a website and want it to handle spdy (so you can send the HTML page, the IMGs, JS and CSS files in one go. If my PHP application wants to send all the resources required for a page in one spdy response there needs to be some work done in my app to send multiple files in response to the single request.

There's also some work on the server side required so the server can tell my php script its responding to a spdy request instead of a http request to trigger this behaviour.

30 November 2009, 2:12 AM (2 years ago)report abuse Send to a friend reply

anonymous user Anonymous user