Slashdot Mirror


HTTP Intermediary Layer From Google Could Dramatically Speed Up the Web

grmoc writes "As part of the 'Let's make the web faster' initiative, we (a few engineers — including me! — at Google, and hopefully people all across the community soon!) are experimenting with alternative protocols to help reduce the latency of Web pages. One of these experiments is SPDY (pronounced 'SPeeDY'), an application-layer protocol (essentially a shim between HTTP and the bits on the wire) for transporting content over the web, designed specifically for minimal latency. In addition to a rough specification for the protocol, we have hacked SPDY into the Google Chrome browser (because it's what we're familiar with) and a simple server testbed. Using these hacked up bits, we compared the performance of many of the top 25 and top 300 websites over both HTTP and SPDY, and have observed those pages load, on average, about twice as fast using SPDY. Thats not bad! We hope to engage the open source community to contribute ideas, feedback, code (we've open sourced the protocol, etc!), and test results."

86 of 406 comments (clear)

  1. Oh that's wonderful by Anonymous Coward · · Score: 5, Funny

    Now we can see Uncle Goatse twice as fast.

    1. Re:Oh that's wonderful by Anonymous Coward · · Score: 4, Interesting
    2. Re:Oh that's wonderful by D'Sphitz · · Score: 5, Insightful

      People take their slashdot comments way too seriously. Mod me whatever, it means nothing and I'll move on.

    3. Re:Oh that's wonderful by operagost · · Score: 3, Funny

      Wow... how long has it been since someone was modded UP for goatse?

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    4. Re:Oh that's wonderful by Simon+(S2) · · Score: 5, Funny

      I want my old Internet back.

      ME TOO!

      --
      I just don't trust anything that bleeds for five days and doesn't die.
    5. Re:Oh that's wonderful by krelian · · Score: 4, Interesting

      Slasdhot should track where moderators spend their mod points. Those who spend it all on the first five posts should be disqualified from moderating.

    6. Re:Oh that's wonderful by nschubach · · Score: 4, Funny

      Just over 2 hours.

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    7. Re:Oh that's wonderful by somersault · · Score: 2, Informative

      Slashdot moderation is like the average fuel consumption on your car's trip computer. If you reset it while rolling down a hill you'll get insane MPG figures, but after that it'll fix itself up in the long run and evaluate to a correct value.

      --
      which is totally what she said
    8. Re:Oh that's wonderful by harmonise · · Score: 2, Interesting

      Or make it so you can only mod one comment per story.

      --
      Cory Doctorow talking about cloud computing makes as much sense as George W Bush talking about electrical engineering.
  2. Before you click! by courteaudotbiz · · Score: 3, Funny

    In the future, the content will be loaded before you click! Unfortunately, it's not like it today, so I didn't make the first post...

    1. Re:Before you click! by oldspewey · · Score: 2, Interesting

      content will be loaded before you click!

      Sounds like those "dialup accelerators" from back in the '90s ... the ones that would silently spider every link on the page you're currently viewing in order to build a predictive cache.

      --
      If libertarians are so opposed to effective government, why don't they all move to Somalia?
    2. Re:Before you click! by wolrahnaes · · Score: 4, Interesting

      Which of course led to quite amusing results when some failure of a web developer made an app that performed actions from GET requests. I've heard anecdotes of entire databases being deleted by a web accelerator in these cases.

      From RFC2616:

      Implementors should be aware that the software represents the user in their interactions over the Internet, and should be careful to allow the user to be aware of any actions they might take which may have an unexpected significance to themselves or others.

              In particular, the convention has been established that the GET and HEAD methods SHOULD NOT have the significance of taking an action other than retrieval. These methods ought to be considered “safe”. This allows user agents to represent other methods, such as POST, PUT and DELETE, in a special way, so that the user is made aware of the fact that a possibly unsafe action is being requested.

              Naturally, it is not possible to ensure that the server does not generate side-effects as a result of performing a GET request; in fact, some dynamic resources consider that a feature. The important distinction here is that the user did not request the side-effects, so therefore cannot be held accountable for them.

      --
      I used to get high on life, but I developed a tolerance. Now I need something stronger.
    3. Re:Before you click! by commodore64_love · · Score: 4, Funny

      >>>Sounds like those "dialup accelerators" from back in the '90s ...

      Hey I still use one of those you insensitive clod! It's called Netscape Web Accelerator, and it does more than just prefetch requests - it also compresses all text and images to about 10% original size. How else would I watch 90210 streaming videos over my phoneline?

      Why I can almost see what looks like a bikini. Man Kelly is hot... ;-)

      --
      "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
    4. Re:Before you click! by commodore64_love · · Score: 2, Funny

      But seriously...

      the accelerator (compression) is really useful, and I couldn't imagine using dialup without it. It makes those slow 28k or 50k hotel connections look as fast as my home DSL hookup. (Except for the blurry images of course.)

      --
      "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
    5. Re:Before you click! by grmoc · · Score: 2, Funny

      Its not the same, really...
      SPDY could do prefetching (in which case it'd be server push, instead of a new pull), but mainly what it does is it lets a lot of requests use the same connection, and does compression on the HTTP headers.
      Thats essentially almost all of the current performance advantage (for today).

    6. Re:Before you click! by Hurricane78 · · Score: 3, Informative

      Yes. thedailywtf.com has such stories. I specifically remember one, where the delete button of database entries was a GET link from the list page. So Google's little spider went there, and crawled the entire list. Requested every single delete link address on the page. I think it was not even linked from anywhere. The crawler got there by reading out the referrer addresses from when the developers came to Google from a link on that site.

      And if I remember correctly, it of course was a non backuped production database. The only one in fact. Must have been fun. :)

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    7. Re:Before you click! by grmoc · · Score: 2, Informative

      Yup. They're pretty big (cookies can be HUGE!)
      Take a look here:
      http://sites.google.com/a/chromium.org/dev/spdy/spdy-whitepaper

      "Header compression resulted in an ~88% reduction in the size of request headers and an ~85% reduction in the size of response headers. On the lower-bandwidth DSL link, in which the upload link is only 375 Kbps, request header compression in particular, led to significant page load time improvements for certain sites (i.e. those that issued large number of resource requests). We found a reduction of 45 - 1142 ms in page load time simply due to header compression."

    8. Re:Before you click! by GravityStar · · Score: 2, Informative
  3. and faster still.. by Anonymous Coward · · Score: 4, Insightful

    remove flash, java applets ad's
    20X faster!

    1. Re:and faster still.. by amicusNYCL · · Score: 3, Funny

      You could also remove images, CSS, Javascript, and text, imagine the time savings!

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    2. Re:and faster still.. by Joe+Mucchiello · · Score: 4, Funny

      Remove the content too. It's all meaningless stuff like this post.

    3. Re:and faster still.. by commodore64_love · · Score: 4, Insightful

      Ye are joking, but ye are correct. Take this slashdot page. I used to be able to participate in discussion forum with nothing more than a 1200 baud (1kbit/s) modem. If I tried that today, even with all images turned off, it would take 45 minutes to load this page, mainly due to the enormous CSS files

      It would be nice if websites made at least *some* attempt to make their files smaller, and therefore load faster.

      --
      "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
    4. Re:and faster still.. by icebraining · · Score: 2, Funny

      So save the CSS to your HD and put a filter in an extension/proxy/etc to replace the CSS URL with your local file. Wait, isn't that what the cache is for? Hmm...

    5. Re:and faster still.. by ProfessionalCookie · · Score: 4, Interesting
      Are you kidding? The new slashdot is way easier to participate on from dialup. The CSS file may look huge but it's a 29KB one time download.

      Cache headers are set to one week so unless you're clearing your cache every page load it's amounts to nothing.

      If anything the scripts are bigger, but again, cached. Besides AJAX comments were a huge improvement for those of us on dialup- no more loading the whole page every time you did anything.

      CSS and JS, when used correctly make things faster for users, even (and sometimes especially) for those of us on slow connections.

    6. Re:and faster still.. by daem0n1x · · Score: 2, Interesting

      I think Flash should be made illegal. Yesterday I visited a website 100% made in Flash. I had to wait for it to load and then none of the links worked. Many Flash sites' links don't work in Firefox, I have no idea why. I suspect incompetent developers.

      I sent a furious email to the company saying I was going to choose one of their competitors just because of the lousy website. I got a reply from their CEO basically saying "go ahead, we don't give a fuck".

      Flash is like cake icing. A little bit tastes and looks great but many people find it cool to put a ton of sugar in the icing until it's nauseating.

    7. Re:and faster still.. by edumacator · · Score: 2, Insightful

      The new slashdot is way easier to participate on from dialup.

      Shhh...If people start thinking /. discussions work, half the people here won't have anything to complain about and will have to go back to spending the day working.

    8. Re:and faster still.. by StuartHankins · · Score: 2, Insightful

      Try accessing many sites from an iPhone or iPod Touch to see just how bad the problem really is.

    9. Re:and faster still.. by ConceptJunkie · · Score: 2, Funny

      I heard of a program called DeCSS. Maybe that's what it does!

      --
      You are in a maze of twisty little passages, all alike.
  4. Slashdot could use the help by Anonymous Coward · · Score: 2, Funny

    How is this different from Web servers that serve up gzipped pages?

    If only the Google engineers can do something about Slashdot's atrociously slow Javascript. Like maybe they can remove the sleep() statements.

    What, just because the original poster pulls a "look at me, I did something cool, therefore I must be cool!" doesn't mean I have to go along with it.

    1. Re:Slashdot could use the help by Anonymous Coward · · Score: 4, Insightful

      They need start with practicing what they preach...

      http://code.google.com/speed/articles/caching.html
      http://code.google.com/speed/articles/prefetching.html
      http://code.google.com/speed/articles/optimizing-html.html

      They turn on caching for everything but then spit out junk like

      http://v9.lscache4.c.youtube.com/generate_204?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgorithm%2Cburst%2Cfactor&fexp=903900%2C903206&algorithm=throttle-factor&itag=34&ipbits=0&burst=40&sver=3&expire=1258081200&key=yt1&signature=8214C5787766320D138B1764BF009CF62A596FF9.D86886CFF40DB7F847246D653E9D3AA5B1D18610&factor=1.25&id=ccbfe79256f2b5b6

      Most cache programs just straight up ignore this. Because of the '?' in there. It ends up being a query to static data.

      Then never mind the load balancing bits they put in there with 'v9.lscache4.c.'. So even IF you get your cache to keep the data you may end up with a totally different server and the same piece of data just served from another server. There have been a few hacks to 'rewrite' the headers and the names to make it stick. But those are just hacks and while they work they seem fragile.

      The real issue is at the HTTP layer and how servers are pointed at from inside the 'code'. So instead of some sort of indirection that would make it simple for the client to say 'these 20 servers have the same bit of data' they must assume that the data is different from every server.

      Compression and javascript speedups are all well and good but there is a different more fundamental problem of extra reload of data that has already been retrieved. As local network usage is almost always faster than going back out to the internet. In a single user environment this is not too big of a deal. But in a 10+ user environment it is a MUCH bigger deal.

      Even the page that talks about optimization has issues
      http://code.google.com/speed/articles/
      12 cr/lf right at the top of the page that are not rendered anywhere. They should look at themselves first.

    2. Re:Slashdot could use the help by amicusNYCL · · Score: 2, Insightful

      How is this different from Web servers that serve up gzipped pages?

      Well, for one, gzipping output doesn't have any effect on latency.

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    3. Re:Slashdot could use the help by Culture20 · · Score: 2, Interesting

      Not +1 Funny. Parent is +1 Informative. On the same wifi network, my iPhone took three minutes to render /. while my dual core lappy rendered it in about 10 seconds (count it; it's actually a long time). BTW, on my laptop, FF grayed out for that time. /.'s JS code sucks hard. I haven't looked, but I'm seriously starting to believe that it's got distributed computing code built in. Both machines loaded other webpages fine before and after.

    4. Re:Slashdot could use the help by Minwee · · Score: 2, Funny

      Like maybe they can remove the sleep() statements.

      The technical term for that is a Speedup Loop. All good software developers use them... for certain values of 'good'.

  5. Suspicious.... by Anonymous Coward · · Score: 3, Interesting

    From the link

    We downloaded 25 of the "top 100" websites over simulated home network connections, with 1% packet loss. We ran the downloads 10 times for each site, and calculated the average page load time for each site, and across all sites. The results show a speedup over HTTP of 27% - 60% in page load time over plain TCP (without SSL), and 39% - 55% over SSL.

    1. Look at top 100 websites.
    2. Choose the 25 which give you good numbers and ignore the rest.
    3. PROFIT!

  6. How about telling Analytics to take a hike? by rho · · Score: 5, Insightful

    And all other "add this piece of Javascript to your Web page and make it more awesomer!"

    Yes, yes, they're useful. And you can't fathom a future without them. But in the meantime I'm watching my status bar say, "completed 4 of 5 items", then change to "completed 11 of 27 items", to "completed 18 of 57 items", to "completed... oh screw this, you're downloading the whole Internet, just sit back, relax and watch the blinkenlights".

    Remember when a 768kbps DSL line was whizzo fast? Because all it had to download was some simple HTML, maybe some gifs?

    I want my old Internet back. And a pony.

    --
    Potato chips are a by-yourself food.
    1. Re:How about telling Analytics to take a hike? by ramaboo · · Score: 5, Funny

      And all other "add this piece of Javascript to your Web page and make it more awesomer!"

      Yes, yes, they're useful. And you can't fathom a future without them. But in the meantime I'm watching my status bar say, "completed 4 of 5 items", then change to "completed 11 of 27 items", to "completed 18 of 57 items", to "completed... oh screw this, you're downloading the whole Internet, just sit back, relax and watch the blinkenlights".

      Remember when a 768kbps DSL line was whizzo fast? Because all it had to download was some simple HTML, maybe some gifs?

      I want my old Internet back. And a pony.

      That's why smart web developers put those scripts at the end of the body.

    2. Re:How about telling Analytics to take a hike? by Zocalo · · Score: 2, Insightful

      That's why smart web developers put those scripts at the end of the body.

      It's also why smart users filter them outright with something like AdBlock - anything that I see in the browser history that looks like a tracking/stats domain or URL gets blocked on sight. Come to think of it, I could probably clean it up publish it as an AdBlock filter list if anyone's interested; there's only a few dozen entries on there at the moment, but I'm sure that would grow pretty quickly if it was used by a more general and less paranoid userbase.

      --
      UNIX? They're not even circumcised! Savages!
    3. Re:How about telling Analytics to take a hike? by value_added · · Score: 2, Insightful

      I want my old Internet back. And a pony.

      LOL. I'd suggest disabling javascript and calling it a day.

      Alternatively, use a text-based browser. If the webpage has any content worth reading, then a simple lynx -dump in 99% of cases will give you what you want, with the added bonus of re-formatting those mile-wide lines into something readable.

      On the other hand, I suspect most people don't want the "old internet". What was once communicated on usenet or email in a few simple lines, for example, now increasingly appears in the form of a complex website that displays giant graphic-laden pages, replete with bad formatting and full of extraneous rubbish. And people like it!

    4. Re:How about telling Analytics to take a hike? by 93+Escort+Wagon · · Score: 2, Informative

      Adsense is embedded where the ads are going to be, Google Maps scripts are embedded where the map is going to be, etc.

      This doesn't have to be the case, unless you're still coding per 1997 standards. Even with CSS 1, you can put those DIVs last in the code and still place them wherever you want them to be.

      It's what I do with the Google ads (text only ads, FWIW) on one of my personal sites - so the content loads first, and then the ads show up.

      --
      #DeleteChrome
    5. Re:How about telling Analytics to take a hike? by causality · · Score: 3, Interesting

      That's why smart web developers put those scripts at the end of the body.

      It's also why smart users filter them outright with something like AdBlock - anything that I see in the browser history that looks like a tracking/stats domain or URL gets blocked on sight. Come to think of it, I could probably clean it up publish it as an AdBlock filter list if anyone's interested; there's only a few dozen entries on there at the moment, but I'm sure that would grow pretty quickly if it was used by a more general and less paranoid userbase.

      What's paranoid about insisting that a company bring a proposal, make me an offer, and sign a contract if they want to derive monetary value from my personal data? Instead, they feel my data is free for the taking and this entitlement mentality is the main reason why I make an effort to block all forms of tracking. I never gave consent to anyone to track anything I do, so why should I honor an agreement in which I did not participate? The "goodness" or "evil-ness" of their intentions doesn't even have to be a consideration. Sorry but referring to that as "paranoid" is either an attempt to demagogue it, or evidence that someone else's attempt to demagogue it was successful on you.

      Are some people quite paranoia? Sure. Does that mean you should throw out all common sense, pretend like there are only paranoid reasons to disallow tracking, and ignore all reasonable concerns? No. Sure, someone who paints with a broad brush might notice that your actions (blocking trackers) superficially resemble some actions taken by paranoid people. Allowing that to affect your decison-making only empowers those who are superficial and quick to assume because you are kowtowing to them. This is what insecure people do. If the paranoid successfully tarnish the appearance of an otherwise reasonable action because we care too much about what others may think, it can only increase the damage caused by paranoia.

      --
      It is a miracle that curiosity survives formal education. - Einstein
    6. Re:How about telling Analytics to take a hike? by mattack2 · · Score: 2, Insightful

      It's not "free for the taking". It's "free in exchange for free content on the web".

      (Note, I'm not arguing against ad blockers or the like.. just like I 30 second skip through the vast vast vast majority of commercials on my Tivos, and FFed through them on my VCR before that.)

    7. Re:How about telling Analytics to take a hike? by Actually,+I+do+RTFA · · Score: 2, Interesting

      What's paranoid about insisting that a company bring a proposal, make me an offer, and sign a contract if they want to derive monetary value from my personal data?

      Because the costs of doing so would outweigh the benefits, leading to no one agreeing to the use of their data, no ad revenue, and ultimately no professional web sites (except those that charge a fee to view). This situtation is termed a "market failure", in this case because of high transaction costs. Therefore, society standardizes the agreement to "they can use the info they get on you when you visit their page", and other people specialize in aggregating that info about you. This is similar to how Target can sell you something for a quarter and turn a profit, while even the most measily negotiated contract costs in the hundreds of dollars.

      I personally block their tracking cookies, and have no moral objection to it, but you cannot reasonably assume all human interaction to be governed by explicit contracts.

      --
      Your ad here. Ask me how!
    8. Re:How about telling Analytics to take a hike? by krelian · · Score: 2, Interesting

      Instead, they feel my data is free for the taking and this entitlement mentality is the main reason why I make an effort to block all forms of tracking.

      What about your sense of entitlement to get their content under your conditions?

  7. Solving the wrong problem by Animats · · Score: 5, Interesting

    The problem isn't pushing the bits across the wire. Major sites that load slowly today (like Slashdot) typically do so because they have advertising code that blocks page display until the ad loads. The ad servers are the bottleneck. Look at the lower left of the Mozilla window and watch the "Waiting for ..." messages.

    Even if you're blocking ad images, there's still the delay while successive "document.write" operations take place.

    Then there are the sites that load massive amounts of canned CSS and Javascript. (Remember how CSS was supposed to make web pages shorter and faster to load? NOT.)

    Then there are the sites that load a skeletal page which then makes multiple requests for XML for the actual content.

    Loading the base page just isn't the problem.

    1. Re:Solving the wrong problem by HBI · · Score: 4, Insightful

      IAWTP. With NoScript on and off, the web is a totally different place.

      --
      HBI's Law: Frequency of calling others Nazis is directly correlated with the likelihood of the accuser being Communist.
    2. Re:Solving the wrong problem by BlueBoxSW.com · · Score: 2, Funny

      So if Google sped up the non-ad web, they would have more room for their ads?

      SNEAKY!!

    3. Re:Solving the wrong problem by Monkeedude1212 · · Score: 4, Funny

      I think you mean SNKY

    4. Re:Solving the wrong problem by Yoozer · · Score: 2, Insightful

      Remember how CSS was supposed to make web pages shorter and faster to load? NOT.)

      What, you think after the first load that CSS file isn't cached in any way? Inline styles slow down every time, CSS just the first. CSS was supposed to make styling elements not completely braindead. You want to change the link colors with inline styles from red to blue? With inline styles - enjoy your grepping. You're bound to forget some of 'm, too.

      Bitching about ad loading times and huge JS libraries? Sure, go ahead. CSS? No, that just makes you look silly.

    5. Re:Solving the wrong problem by shentino · · Score: 3, Insightful

      CSS can make things shorter and faster if they just remember to link to it as a static file.

      You can't cache something that changes, and anything, like CSS and Javascript, that's caught in the on-the-fly generation of dynamic and uncacheable text in spite of actually being static, is just going to clog up the tubes.

      In fact, thanks to slashdot's no-edits-allowed policy, each comment itself is a static unchangeable snippet of text. Why not cache those?

      Sending only the stuff that changes is usually a good optimization no matter what you're doing.

      CSS and javascript themselves aren't bad. Failing to offlink and thus cacheable-ize them however, is.

  8. Application Layer... by Monkeedude1212 · · Score: 2, Interesting

    Doesn't that mean that both the client and the server have to be running this new application to see the benefits of this? Essentially either one or the other is still going to be using HTTP if you don't set it up on both, and its only as fast as the slowest piece.

    While a great initiative, it could be a while before it actually takes off. To get the rest of the world running on a new protocol will take some time, and there will no doubt be some kinks to work out.

    But if anyone could do it, it'd be Google.

    1. Re:Application Layer... by grmoc · · Score: 2, Informative

      Yes, it means that both sides have to speak the protocol.
      That is why we want to engage the community to start to look at this work!

  9. Re:Akamai? by TooMuchToDo · · Score: 4, Informative

    No. Akamai gives boxes to ISPs that cache Akamai's customer's content closer to the ISP's customers. Akamai then uses logic they've put together into DNS to redirect requests to the appliance closest to the request.

  10. Cool.... but it's not http by Colin+Smith · · Score: 4, Insightful

    So which ports are you planning to use for it?

     

    --
    Deleted
    1. Re:Cool.... but it's not http by grmoc · · Score: 4, Informative

      Right now the plan is to use port 443. We may as well make the web a safer place while we make it faster.
      The plans for indicating how a client/server speaks SPDY is still somewhat up in the air.. .. what we have planned right now, is:
      UPGRADE (ye olde HTTP UPGRADE).
      and, putting some string into the SSL handshake that allows both sides to advertise which protocols they speak. If both speak SPDY, then it can be used.
      This is nice because you don't have the additional latency of an additional roundtrip (and that latency can be large!)

  11. Re:Just turn off image loading by spun · · Score: 2, Funny

    You youngsters and your fancy text based web browsers. In my day, we used gopher, and we LIKED it!

    --
    - None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
  12. Not a terribly new concept. by ranson · · Score: 5, Informative

    AOL actually does something similar to this with their TopSpeed technology, and it does work very, very well. It has introduced features like multiplexed persistent connections to the intermediary layer, sending down just object deltas since last visit (for if-modified-since requests), and applying gzip compression to uncompressed objects on the wire. It's one of the best technologies they've introduced. And, in full disclosure, I was proud to be a part of the team that made it all possible. It's too bad all of this is specific to the AOL software, so I'm glad a name like Google is trying to open up these kind of features to the general internet.

    1. Re:Not a terribly new concept. by bill_mcgonigle · · Score: 2, Insightful

      It may be noble in goal, but AOL's implementation makes things hell on sysadmins trying to load-balance AOL users' connections. In a given session, even a page load, I can expect connections from n number of (published) AOL proxies, *and* the user's home broadband IP. It's not possible to correlate them at layer 3, so nasty layer-7 checks get used instead, and AOL users wind up getting shoved into non-redundant systems.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  13. Re:Just turn off image loading by C0vardeAn0nim0 · · Score: 5, Funny

    here's an onion to hang on your belt, granpa.

    now, on a more serious note, isn't gopher a faster protocol than HTTP ? could we just use it to transport html, pictures, etc ?

    --
    What ? Me, worry ?
  14. Yeah, right... but WHY?!? by 51M02 · · Score: 2, Insightful

    I mean reinventing the wheel, well why not, this one is old and let say we have done all we could with HTTP...

    But why, WHY should you call that with a stupid name like SPDY?!? It's not even an acronym (of is it?).

    It sound bad, it's years (decade?) before it is well supported... but why not. Wake me when it's done ready for production.

    I guess they start to get bored at Google if they are trying not rewrite HTTP.

    --
    --- Bouh !!! ---
    1. Re:Yeah, right... but WHY?!? by fuzzyfuzzyfungus · · Score: 2, Interesting

      I strongly suspect that whether or not HTTP is "broken" is largely a matter of perspective. For classic website serving, HTTP works pretty well. Not perfectly; but easily well enough that it isn't worth replacing.

      If, though, your business model largely depends on creating webapp UIs that are good enough to compete with native local UIs, HTTP's latency and other issues are going to strike you as a fairly serious problem(particularly if the future is very likely going to involve a lot more clients connecting wirelessly via cell networks, where latency is already utter shit). Since that is pretty much exactly Google's situation, their motive seems pretty clear.

      As for the "odd and immature" bit, if they had tried to roll this out as some sort of Web2.0 version of the old walled garden protocol setups(like the old "Microsoft network", before MSN became a normal ISP), then that would have been very odd and very immature. As it is, though, they've rolled out a potentially interesting project that fixes some problems that bug them under a liberal OSS licence. That seems like a fairly reasonable and inoffensive activity.

  15. slashdot by jDeepbeep · · Score: 2, Interesting

    If only the Google engineers can do something about Slashdot's atrociously slow Javascript.

    I've noticed a discernible difference in /. loadtime, in favor of Google Chrome vs FF 3.x on Mac OSX at home. And that's just the Chrome dev channel release. I was pleasantly surprised.

    --
    Reply to That ||
  16. While we're at it ... by RAMMS+EIN · · Score: 4, Interesting

    While we're at it, let's also make processing web pages faster.

    We have a semantic language (HTML) and a language that describes how to present that (CSS), right? This is good, let's keep it that way.

    But things aren't as good as they could be. On the semantic side, we have many elements in the language that don't really convey any semantic information, and a lot of semantics there isn't an element for. On the presentation side, well, suffice it to say that there are a _lot_ of things that cannot be done, and others that can be done, but only with ugly kludges. Meanwhile, processing and rendering HTML and CSS takes a lot of resources.

    Here is my proposal:

      - For the semantics, let's introduce an extensible language. Imagine it as a sort of programming language, where the standard library has elements for common things like paragraphs, hyperlinks, headings, etc. and there are additional libraries which add more specialized elements, e.g. there could be a library for web fora (or blogs, if you prefer), a library for screenshot galleries, etc.

      - For the presentation, let's introduce something that actually supports the features of the presentation medium. For example, for presentation on desktop operating systems, you would have support for things like buttons and checkboxes, fonts, drawing primitives, and events like keypresses and mouse clicks. Again, this should be a modular system, where you can, for example, have a library to implement the look of your website, which you can then re-use in all your pages.

      - Introduce a standard for the distribution of the various modules, to facilitate re-use (no having to download a huge library on every page load).

      - It could be beneficial to define both a textual, human readable form and a binary form that can be efficiently parsed by computers. Combined with a mapping between the two, you can have the best of both worlds: efficient processing by machine, and readable by humans.

      - There needn't actually be separate languages for semantics, presentation and scripting; it can all be done in a single language, thus simplifying things

    I'd be working on this if my job didn't take so much time and energy, but, as it is, I'm just throwing these ideas out here.

    --
    Please correct me if I got my facts wrong.
    1. Re:While we're at it ... by rabtech · · Score: 3, Insightful

      e have a semantic language (HTML) and a language that describes how to present that (CSS), right? This is good, let's keep it that way.

      But things aren't as good as they could be. On the semantic side, we have many elements in the language that don't really convey any semantic information, and a lot of semantics there isn't an element for. On the presentation side, well, suffice it to say that there are a _lot_ of things that cannot be done, and others that can be done, but only with ugly kludges. Meanwhile, processing and rendering HTML and CSS takes a lot of resources.

      The problem is that worrying about semantic vs presentation is something that almost no one gives a s**t about, because it is an artificial division that makes sense for computer science reasons, not human reasons. I don't sit down to make a web page and completely divorce the content vs the layout; the layout gives context and can be just as important as the content itself in terms of a human brain grasping an attempt at communication.

      I know I shouldn't use tables for presentation but I just don't care. They are so simple and easy to visualize in my head, and using them has never caused a noticeable slowdown in my app, caused maintenance headaches, cost me any money, etc. The only downside is listening to architecture astronauts whine about how incorrect it is while they all sit around and circle-jerk about how their pages pass this-or-that validation test.

      In oh so many ways writing a web app is like stepping back into computer GUI v1.0; so much must be manually re-implemented in a different way for every app. Heck, you can't even reliably get the dimensions of an element or the currently computed styles on an element. Lest you think this is mostly IE-vs-everyone else, no browser can define a content region that automatically scrolls its contents within a defined percentage of the parent element's content region; you've gotta emit javascript to dynamically calculate the size. This is double-stupid because browsers already perform this sort of layout logic for things like a textarea that has content that exceeds its bounds. And guess what? This is one of the #1 reasons people want to use overflow:auto. Don't waste screen real-estate showing scrollbars if they aren't necessary, but don't force me to hard-code height and width because then I can't scale to the user's screen resolution.

      This kind of crap is so frustrating and wastes MILLIONS upon MILLIONS of man-hours year after year, yet we can't even get the major browser vendors to agree to HTMLv5 and what little bits (though very useful) it brings to the table. So please spare me the semantic vs presentation argument. If just a few people gave a s**t and stopped stroking their own egos on these bulls**t committees and actually tried to solve the problems that developers and designers deal with every day then they wouldn't have to worry about forcing everyone to adopt their standard (IPv6), the desire to adopt it would come naturally.

      --
      Natural != (nontoxic || beneficial)
  17. Re:Akamai? by ranson · · Score: 2, Informative

    No. Akamai offers many services and features beyond 'giving' boxes to ISPs. For instance, they have their own global CDN unrelated to any ISP which you can pay to have your content served across. They'll host it or reverse proxy/cache it. They also can multicast live streaming media, on demand streaming media, etc. You get the picture. In once sentence, Akamai is a high availability, high capacity provider of bandwidth. And they accomplish that in a variety of ways other than just putting boxes in ISPs.

  18. SPDY is technically nonsensical by Anonymous Coward · · Score: 2, Insightful

    "Single request per connection. Because HTTP can only fetch one resource at a time (HTTP pipelining helps, but still enforces only a FIFO queue)"

    WTF you do realize that TCP is a head-of-line blocking protocol right? You can layer whatever the hell you want into a TCP channel and its still bound to TCPs shortcommings. If google really wanted to be productive they would leverge SCTP streams rather than reinventing crap that will never be optimal anyway... haha they even list this under "previous approaches" as if its somehow "legacy"

    "Exclusively client-initiated requests. "
    Nonsense, this was done in netscape 4.x

    "Uncompressed request and response headers."
    "Redundant headers"

    gzip anyone?

    "Optional data compression. Content should always be sent in a compressed format"

    Its nice that google thinks it can dictate to operators.

    If google really wanted to help speed up the fricking web they would discontinue adscense and google analyitics which adds extra RTTs to god knows what percentage of the entire web.

    The real problem is all the commercial **CRAP** and too few selfless operators working to help people without expecting back in return.

    I've never had to wait to bring up a wikipedia page.

  19. A novel idea by DaveV1.0 · · Score: 3, Interesting

    How about we don't use HTTP/HTML for things they were not designed or ever intended to do? You know, that "right tool for the right job" thing.

    --
    There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
  20. How about downsides... by unix1 · · Score: 3, Interesting

    It's not all rosy as the short documentation page explains. While they are trying to maximize throughput and minimize latency, they are hurting other areas. 2 obvious downsides I see are:

    1. Server would now have to keep holding the connection open to the client throughout the client's session, and also keep the associated resources in memory. While this may not be a problem for Google and their seemingly limitless processing powers, a Joe Webmaster will see their web server load average increase significantly. HTTP servers usually give you control over this with the HTTP keep-alive time and max connections/children settings. If the server is now required to keep the connections open it would spell more hardware for many/most websites;

    2. Requiring compression seems silly to me. This would increase the processing power required on the web server (see above), and also on the client - think underpowered portable devices. It needs to stay optional - if the client and server both play and prefer compression, then they should do it; if not, then let them be; also keeping in mind that all images, video and other multimedia are already compressed - so adding compression to these items would increase the server/client load _and_ increase payload.

    1. Re:How about downsides... by grmoc · · Score: 2, Informative

      As a server implementor I can tell you that I'd rather have 1 heavily used connection than 20 (that is a LOW estimate for the number of connections many sites make(!!!!!!!)). Server efficiency was one of my goals for the protocol, in fact!

      When we're talking about requiring compression, we're talking about compression over the headers only.

      In any case, as someone who operates servers... I can't tell you how many times I've been angry at having to turn of compression for *EVERYONE* because some browser advertises supporting compression, but doesn't (which interacts badly with caches, etc. etc).

    2. Re:How about downsides... by unix1 · · Score: 2, Interesting

      As a server implementor I can tell you that I'd rather have 1 heavily used connection than 20 (that is a LOW estimate for the number of connections many sites make(!!!!!!!)). Server efficiency was one of my goals for the protocol, in fact!

      Average of 20 seems a lot considering most browsers cache all static content (images/HTML/Javascript/CSS/XSLT/etc.). Also, keep-alive can bring that number down to even less.

      That is also a very general statement to make. Again, maybe that's true in Google's case (I don't know), but HTTP keep-alive handles this already for most cases by giving you control of how long you want keep the resources hanging around for a connection, or free them up for another client, and it's all depending on your environment.

      For example, I am visiting a shopping site, blog entry, SPDY documentation page, etc., on average visitors spend X seconds/minutes on a single page on that site. With HTTP keep alive you are in charge of how soon you want to free up the server resource, and make it available for the next visitor; with a single permanent connection, you are still holding on to the resource as long as the client is still there.

      Now, with say 100 visitors per 1 [time interval] starting at point N, you'll need to keep those 100 connections open until at least N+X. Now add 100 more visitors arriving at N+1, then N+2, etc. until you reach X. That's how many connections you'll need to keep open on average.

      What I am saying is that number of connections is not going to be optimal in most cases. Because you'll almost always want to free up the resources way prior to the average of X. In fact, let's take some numbers:

      100 clients / 1 second
      X = 1 min
      20 connections / client (took from your post)
      Avg connection = 0.5 sec (doesn't matter as it rolls into the value of X anyway)
      keep-alive = 0.5 sec (took from SPDY doc link)

      With HTTP:
      20 conns x 100 clients / sec = 2000 connections / sec (0.5 + 0.5)
      Avg num of connections = 2000 (no keep-alive on client)
      Avg num of connections = about 700 (w/keep-alive pipelining set to 4, default when enabled in Firefox)

      Using SPDY:
      Avg num of connections = 100 clients x 60 secs = 6000 connections

      This would only make sense for low enough values of X where client needs to be getting constant dynamic updates from the server - an extremely media-heavy website maybe? It would almost have to be badly designed. I'm not sure, but it's certainly interesting. I am just wondering what testing conditions were used to achieve the results mentioned on the linked SPDY page.

      When we're talking about requiring compression, we're talking about compression over the headers only.

      In any case, as someone who operates servers... I can't tell you how many times I've been angry at having to turn of compression for *EVERYONE* because some browser advertises supporting compression, but doesn't (which interacts badly with caches, etc. etc).

      OK my bad on that one then.

  21. Re:Is he your biological uncle? by Sparky+McGruff · · Score: 3, Funny

    oldermanwholikestofondleyou.cx

    To follow the goatse.cx standard, I believe it should be http://oldermanwholikestofondleyour.co.ck

    It's only $250 to register a .co.ck address!

  22. HTTP-NG Revisited (ten years later!) by kriegsman · · Score: 4, Informative
    HTTP-NG ( http://www.w3.org/Protocols/HTTP-NG/ ) was researched, designed, and even, yes, implemented to solve the same problems that Google's "new" SPDY is attacking -- in 1999, ten years ago.

    The good news is that SPDY seems to build on the SMUX ( http://www.w3.org/TR/WD-mux ) and MUX protocols that were designed as part of the HTTP-NG effort, so at least we're not reinventing the wheel. Now we have to decide what color to paint it.

    Next up: immediate support in FireFox, WebKit, and Apache -- and deafening silence from IE and IIS.

  23. Re:Just turn off image loading by ribuck · · Score: 5, Informative

    Gopher is not installed by default, kiddie...

    Gopher is installed by default on most builds of Firefox. Try this in your address bar: gopher://gopher.floodgap.com/1/world

  24. Would appreciate it if instead... by jddj · · Score: 2, Insightful

    you got my new Droid to be able to dial hands-free and sync with Outlook. Would help me out a bunch more than faster http. No, really...

  25. Re:Just turn off image loading by commodore64_love · · Score: 4, Informative

    Someone already invented this.

    It's called Opera browser

    --
    "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
  26. Re:Just turn off image loading by spun · · Score: 2, Funny

    Port 80? That newfangled HTTP thing? Gopher predates HTTP by a fair number of years. You can try that fancy pants modern trick now but back in the day, that would have got you nothing.

    Of course, Gopher is newer than Telnet. And Telnet is newer than BBSs. And BBSs are newer than dialing in to the university mainframe over a 300 baud acoustic-coupled modem connected to a teletype, which is where I cut my teeth, sonny boy.

    --
    - None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
  27. Re:Just turn off image loading by mattack2 · · Score: 2, Informative

    Mostly in that it handles tables and frames.

    http://www.jikos.cz/~mikulas/links/

  28. Re:Just turn off image loading by commodore64_love · · Score: 2, Informative

    >>>acoustic-coupled modem

    Which was the result of the Bell Telephone monopoly. They refused to let other non-Bell devices connect to their lines, which forced users to buy *only* Bell products. Man I hate monopolies. I despise them like Teddy Roosevelt despised them.

    Fortunately somebody came-up with the idea of the acoustic modem, which connected *indirectly* via the usage of sound. Very primitive but they worked, and they didn't break Bell's rules, and more importantly, they opened-up the market to other companies.

    THEN bell announced, if you were using a modem, you had to pay an extra surcharge for overusage of the line you paid for. Or else risk disconnection. Sound familiar? (cough Comcast). Most users ignored Bell's surcharge idea.

    --
    "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
  29. Re:Just turn off image loading by commodore64_love · · Score: 3, Informative

    >>>Gopher predates HTTP by a fair number of years.

    Not correct. Gopher and HTTP were both released in summer 1991, so virtually the same birthdate. However gopher was available on the IBM PC that same year while HTTP was still confined to Unix systems, so that's why people misremember gopher as being first. (HTTP came to IBM PC, Macs, and Amigas in 1993.)

    --
    "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
  30. SPDY by rgviza · · Score: 2, Insightful

    Cache control 4tw. A lot of the user perception problems SPDY is trying to solve can be solved by utilizing already-existing protocol features and the farms of cache servers at ISPs for your active content.

    The latency differences between a user going all the way to your server and grabbing your content vs. going to ISP's cache server to get it can be huge when you consider a separate connection for each part of the page. When coupled with the decreased response time (checking a cache file and responding with a 304 is a lot easier on your server than pulling your content out of a database, formatting it and sending the entire page) makes a huge end-user perception difference. It also frees resources on your web server faster because you are sending 20-30 bytes instead of x kb. The faster your server can get rid of that connection the better.

    Doing this reduces the load on your server(especially connection utilization), your bandwidth utilization, speeds up the download of your page (since it avoids the need to leave the ISP for your content download) and generally makes you a better network citizen.

    Of course this requires developers that understand the protocol.

    What I want to know is will ISP cache servers will have this implemented?

    --
    Don't kid yourself. It's the size of the regexp AND how you use it that counts.
    1. Re:SPDY by Casandro · · Score: 2, Insightful

      Absolutely the 304 response won't work anymore under that new proposal. And 304 already saves a lot as most external references are static.

      There is only one exception, advertisements. One can only asume that Google wants this to effectively push advertisements on the user.

  31. fst wb prtcl by Anonymous Coward · · Score: 4, Funny

    If they really wanted a faster web, they would have minimized the protocol name. Taking out vowels isn't enough.

    The protocol should be renamed to just 's'.

    That's 3 less bytes per request.

    I can haz goolge internship?

  32. Re:Problems... by grmoc · · Score: 2, Informative

    # To make SSL the underlying transport protocol, for better security and compatibility with existing network infrastructure. Although SSL does introduce a latency penalty, we believe that the long-term future of the web depends on a secure network connection. In addition, the use of SSL is necessary to ensure that communication across existing proxies is not broken.

    The problem for that is now everything is encypted. If it has multiple channels, let one be plaintext of insecure items,a nd one cyphered for encrypted ones

    We've had ideas along these lines-- specifically, we need to work on caching! One proposal that we had was that we'd send cryptographic hashes on the secure channel, then send the static data in the clear on a non-encrypted channel.
    Alternatively, the data could be signed, and no communication would be necessary on the secure channel.
    In any case, there is a lot of work to do on this, and we by no means have the answers right now. We just want to make the experiment public, and get as many people involved as we can so that we all end up with something better.

    # To enable the server to initiate communications with the client and push data to the client whenever possible.

    Horrible idea because now popup and ad blockers don't work. Sure they might not show it, but the server has already sent it to you and eaten up your bandwidth. What are your options? Send a block-list during negotiation? Not likely, and still might not be honored. We need to keep the client in control. What should be done is the server send the component list, and then the client can return the accepted list back to the server to have it put into the download stream. While this is the correct operation, the problem with this is it increases latency.

    Well, the fact the server sends the data doesn't mean that the browser has to interpret it or render it. In the protocol, if/when the browser notices the server sending something it doesn't want, the browser can send a FIN (letting the other side know it should stop), and then can simply ignore the rest. It uses up some bandwidth, but it is really not that much worse than today... especially if we find that the real world tests also show it to be 2X faster on average!!

  33. Re:Problems... by grmoc · · Score: 2, Interesting

    Oh, also.. the measured in-lab 2X speedup was without any server push. Who knows, maybe the HELLO message will eventually include a flag that says that the server shouldn't push anything to the client. We're already talking about how to rate-limit anything speculative like this (so that client-requested content is almost never held up with content that is speculatively pushed).

  34. addin not needed by eleuthero · · Score: 3, Informative

    Most of the features of fasterfox are found in about:config. There is no sense in installing an addon that will slow the browser down when the browser already has pipelining and prefetching (albeit disabled)

  35. Re:Just turn off image loading by ProfessionalCookie · · Score: 2, Informative

    One is the world wide web, the other is a cat.

  36. What's the right tool for what's web apps today? by jonaskoelker · · Score: 2, Insightful

    "right tool for the right job"

    Fair enough.

    What's the right tool to deliver to your users rich applications which are

    • accessible from (almost) any computer, anywhere
    • doesn't require the user to install software that isn't already pre-installed on most computers
    • works on all architectures and operating systems
    • can be updated for everybody by the application provider without invading peoples' machines

    I don't know of any tool other than HTTP/HTML. I can imagine something with ssh and X forwarding, but windows boxes don't come with X preinstalled (nor ssh). Remote desktop, perhaps? Any other good ideas?