A labs release to get your SPDY senses tingling
For many years now, we have relied on the marriage of the TCP and HTTP protocols for handling data request/response communication, and transporting the resulting data packets to where they need to go. In short, they are how we get things done on the Web. But they are not perfect. Websites are a lot bigger and more complicated than they used to be when these protocols were first designed. HTTP in particular has problems with latency, because:
- It can only fetch a single resource at a time, per connection
- Only the client can initiate requests under HTTP
- HTTP request and response headers are uncompressed, and can become rather large. In addition, many header transmissions are redundant
- Data transmitted via HTTP is not always compressed.
In short, the web is slower than it could be, and the problem will get worse as web sites continue to increase in size and complexity. To mitigate this problem, the Google Chromium team set to work and developed a new networking protocol for the web, which would reduce latency and speed up page loading. The result is SPDY, which Google have put to work on most of their services (Twitter and a number of other sites are also using it), allowing much faster loading speeds, provided the web browser being used supports SPDY.
The good news is that we've been hard at work implementing SPDY support in Opera, so the big red O can also take advantage of these performance increases! Other advantages include better compatibility with all Google services (and other sites and applications that employ SPDY), and allowing developers to test their own SPDY based services with Opera.
We are proud to present an experimental labs release that includes our SPDY support. Please try it out, and let us know what you think.
Further SPDY information
SPDY does not completely replace HTTP and TCP — it augments and works on top of those protocols. HTTP's communication semantics and TCP's congestion control, for example, are still used, but SPDY provides many advantages, such as multiple streams per connection, and more efficient connection management and data formats.
SPDY doesn't force data compression, but SPDY user-agents MUST support gzip compression. Regardless of the Accept-Encoding header sent by the user-agent, the server may always send content encoded with gzip or deflate encoding.
Currently there are two versions of SPDY that are deployed and used in the web: spdy/2 and spdy/3. All Google services (using secure connection) and Twitter can be used with both of them - it's for the client to negotiate which version is to be used. The negotiation is being done by the NPN protocol during the SSL handshake. Of course, the client can also negotiate to use plain HTTP over SSL if desired.
Google have prepared an SPDY module for Apache 2.2, therefore anyone can deploy SPDY on their own Apache-based server and use it for creating web sites and applications.
Download our SPDY build
Please select a suitable build for your operating system:
Support notes
Opera's SPDY implementation currently supports all features of the spdy/2 and spdy/3 protocols, except for:
- PUSH and HINT: There is no deployment of PUSH and HINT usage on the web (as far as we know), and no way to use it with mod_spdy, so we decided not to implement it for the time being, until we have something to test it on, and more evidence of actual usage.
- The
Alternate-Protocolheader: Neither Chrome nor Firefox have implemented this in the way described in SPDY draft 2, moreover SPDY draft 3 does not even mention that header anymore, so we decided to not support it. - Persisting SETTINGS values: Servers may request that the client persists some of the connection settings sent to it in the SETTINGS frame. In such cases the client should remember such settings, and use them in all future connections (the user should also be able to clear them when desired.) This isn't a key feature of the SPDY protocol, and SPDY works perfectly fine without it, but we'll probably implement it in a future build.
How fast is it?
Our rough performance tests ran on Windows with 50ms extra latency, and revealed that SPDY gave us a 38,67% performance boost (compared to normal HTTPS) in the network layer. That's great for a start!
Google also has some SPDY performance test results available.
How do I know that Opera is using SPDY?
Use of the SPDY protocol is completely transparent for users. There is no additional scheme like spdy://, and we don't have any indicator saying ATTENTION, page loaded with SPDY!
. There is an SPDY indicator extension available for Firefox and Chrome, and this should also be available for Opera, soon after we've created the necessary API to make this possible.
One way to recognise an SPDY site is by looking at the additional headers loaded with SPDY: Opera Dragonfly makes this easy. The spdy/2 additional headers are method, scheme, url and version. For spdy/3, the additional headers are :method, :scheme, :host, :path and :version.
Summary
SPDY is a useful new protocol that has already demonstrated significant performance increases over using HTTP/HTTPS alone, and Opera is proud to unveil support for it. Please let us know what you think of our experimental SPDY build, by leaving comments on this article or filing bugs through our bug wizard.
You can find much more detail about SPDY, including Google's own performance test results, at the Chromium Team SPDY Whitepaper.
This article is licensed under a Creative Commons Attribution 3.0 Unported license.
Comments
-
Congratulations team! I see that the build's version number is only steps from the current Next build so will SPDY be part of 12.01?
-
Congratulations, but is it just me or HTTPS pages Opera says that the connection is insecure.
-
Ayrton, I can't reproduce that issue, does it happen for all HTTPS pages or for some specific page for you?
-
@ bachokocho
-
@Kajetan Świtalski
-
Kajetan, all HTTPS pages. "The server attempted to apply security measures, but failed." (Ubuntu 12.04 amd64)
-
Facebook: http://files.myopera.com/ayrtonnadgel92/albums/11843282/Captura%20de%20tela%20de%202012-07-06%2008%3A16%3A50.png
-
@Ayrton Nádgel
-
-
I'm not sure the real-.time speed-up will be very noticeable, but hearing it improves the compatibility with google services sounds great!
-
It will not be part of 12.01. Version numbers for Labs builds are irrelevant.
-
Google img. search not improved. Still needs masking as Firefox.
-
" but is it just me or HTTPS pages Opera says that the connection is insecure." Yep as seen on https://twitter.com/ OS X 10.7.4 x64
-
opera:plugins Not showing all the plug ins on first load, have to refresh to show them all
-
What is the minimum font size (pixels) supposed to be? Here I see it at 0
-
The support for spdy/2 and spdy/3 can be disabled with appropriate preferences in opera:config (Network|Use Spdy2, Network|Use Spdy3). Is the 'insecure' issue reproducible after disabling it (one or both)?
-
First impressions: Twitter has behaved perfectly with this build. I used to get stalled loading and blank pages regularly, and SPDY seems to have solved this (unless I'm just extremely lucky today).
-
It won't work on Google+ :-(
-
Charles Schloss: The 0 for minimum font size is default for some time already. It used to cause often more problems than benefits.
-
@Charles: Minimum font size was changed for 11.60: http://my.opera.com/desktopteam/blog/2011/10/07/ragnarok-css3-radial-gradients
-
how can i down load it to my opera can iny one help me please thx u
-
I have been using the latest Opera Labs since it became available and I love it. The only thing is that I cannot make it my 'Default browser'. There is no button for me to make it my default browser. Anyone out there who can help me with this dilemma?
-
12.01 came and went. 12.02 is almost here.
-
^^ SPDY would come in Opera 12.50 (if it's not hit by any major problems).
-
But SPDY would come in Opera 12.10?
-
^^ When I wrote the comment above, Opera hadn't decided to release 12.10, directly releasing 12.50. Yes, now it would come in 12.10 and above.
-
Thanks for such a wonderful tribute to Mando, Marissa. Such a sad day, but such a beautiful person. Visit Adopt A Dog Or Cats
-
This article has some great and useful information about this subject. Thank you for sharing it in an easy to read and understandable format. Thanks for sharing this great information. Visit Inet Freakz
No new comments accepted.bachokocho
Friday, July 6, 2012
Ayrton Nádgel
Friday, July 6, 2012
Kajetan Świtalski
Friday, July 6, 2012
blackcoder
Friday, July 6, 2012
Probably not. I think they just picked up some internal Opera 12.01 and integrated spdy. Opera 12.01 will probably be released in an not to far away future (that would be a really short time for testing spdy).
ahoj1234
Friday, July 6, 2012
https://www.strava.cz/istravne/
for example.. only because of this site is not signed or what.. :)
Ayrton Nádgel
Friday, July 6, 2012
Ayrton Nádgel
Friday, July 6, 2012
ahoj1234
Friday, July 6, 2012
On w7 x64 is FB secured and is displayed as secured.. here is not like on your screen..
Christoph
Friday, July 6, 2012
Originally posted by bachokocho:
No, that means that the current Next build was used as a basis for the Labs build. It always used to be like this. No indication at all for a release date
Originally posted by ayrtonnadgel92:
Confirmed. Happens over here as well. Connections that use SPDY are shown secure for a moment and then fall back to insecure
EDIT: Happens with Google Viewer, but not with Facebook on my end...
marjancek
Friday, July 6, 2012
Ruarí Ødegaard
Friday, July 6, 2012
vux777
Friday, July 6, 2012
Charles Schloss
Friday, July 6, 2012
Charles Schloss
Friday, July 6, 2012
Charles Schloss
Friday, July 6, 2012
OS X 10.7.4
Kajetan Świtalski
Friday, July 6, 2012
OME
Friday, July 6, 2012
I usually middle click the profile names in Twitter to open them in background tabs (thus skipping the left-click pop-up mini profile step), and doing this with several profiles in quick succession used to cause problems (stalling). Also closing one Twitter tab while another was loading used to affect the one that was loading and stall it until I reloaded manually. I have yet to see any of these issues with this SPDY build, so it seems very promising. I hope it won't be too long before it's ready to be added to the Next branch/channel.
PS. Twitter says "Trusted" here, so I haven't seen this "insecure issue" others are reporting. Win7 x64.
EDIT: I did however get a "R6025 pure virtual function call" dialog followed by a crash while a few of my speed dials were reloading with Opera minimized just now, which I haven't seen since the 12.00 betas a couple of months ago.
Jim
Friday, July 6, 2012
Martin Kadlec
Saturday, July 7, 2012
Ola P. Kleiven
Sunday, July 8, 2012
@vux777: not at all related to spdy
jimmy johnston
Sunday, August 5, 2012
rschan35
Saturday, August 11, 2012
Doc Flay™
Thursday, August 23, 2012
Is SPDY already spent, or will it move up a gear?
Swapnil Rustagi
Thursday, August 23, 2012
CSRedRat
Wednesday, October 3, 2012
Swapnil Rustagi
Thursday, October 4, 2012
sen
Saturday, December 14, 2013
sen
Saturday, December 14, 2013