6 ms·
SPDY Brings Responsive and Scalable Transport to Firefox 11
- masterleep 15y agoSPDY doesn't provide a way to proxy-cache public assets, so it's bad for places that use such caching to mitigate low bandwidth / high latency connections.
- magicalist 15y agowhich is to be expected with a TLS connection. OTOH you get to drop all the extra TCP handshakes, you get better congestion control, you get header compression, and that encrypted connection is often a really good thing. http://bitsup.blogspot.com/2011/09/spdy-what-i-like-about-you.html http://bitsup.blogspot.com/2011/09/spdy-what-i-like-about-yo... But yes, there remains no silver bullet, and you'll have to pick the right tool for the job.
- eggnet 15y agoForcing the use of TLS for SPDY seems to have been intentionally crippling.
- JoshTriplett 15y agoWhy should a new protocol offer the option to operate insecurely? Nothing stops a proxy from handling SPDY, if the client trusts it to do so and doesn't mind getting MITMed.
- eggnet 15y agoTransparent caching is part of what makes http so great. Security is relative, you can authenticate content without encrypting it, if there is nothing sensitive about the content. The authentication can happen external to the http or spdy transaction as well.
- JoshTriplett 15y ago> you can authenticate content without encrypting it True, but insecure HTTP provides neither authentication nor encryption. > if there is nothing sensitive about the content. Encrypting only sensitive content leaks information to observers and attackers, namely when you transmit sensitive content, and which servers you connect to when you do so. Encrypting all content eliminates that information leak.
- yusufg 15y agoWouldn't this be solved by sending a Cache-Control: public, max-age=<long-duration-in-seconds> header so that the assets can be stored in ISP proxy caches as well as browsers on-disk caches
- mcpherrinm 15y agoThe problem is that ISP caches are essentially impossible with SPDY, because of mandatory TLS.
- JoshTriplett 15y agoI'd consider that a feature, not a bug. Transparent proxies considered harmful, especially when done without informing their users. A SPDY client that trusts a particular proxy could easily allow that proxy to operate on its behalf, and SPDY would actually make that far more efficient.
- wmf 15y agoIt looks like SPDY will/could support proxies: http://www.chromium.org/spdy/spdy-proxy http://www.chromium.org/spdy/spdy-proxy http://dev.chromium.org/spdy/spdy-proxy-examples http://dev.chromium.org/spdy/spdy-proxy-examples
- ecaron 15y agoThis is terrific news. Now if only Apache would start bundling spdy with their new releases, instead of expecting admins to hunt down the right mod (http://code.google.com/p/mod-spdy/ http://code.google.com/p/mod-spdy/) and hopefully remember to always keep both up to date. At least nginx is going to start including it: https://twitter.com/#!/nginxorg/status/150112670966747137 https://twitter.com/#!/nginxorg/status/150112670966747137
- newman314 15y agoThat's fantastic news re nginx! The last I heard was that they were evaluating it and it's good that they are now committing to deliver support for SPDY.
- NelsonMinar 15y agoIs Apache mod-spdy useful yet? The project page says "still an early beta and is not yet suitable for production environments" and everything I've read elsewhere says it's not ready. But things have a way of moving fast, is that outdated info?
- mcpherrinm 15y agoMy understanding from when I was working with the Mozilla networking team was that it wasn't very good at all. I think we used node-spdy to run unit tests, as it was one of the more complete implementations.
- AshleysBrain 15y agoAwesome, sounds like good news for the web all-round! Any news on if other browser vendors (Microsoft, Apple...) are on board?
- ck2 15y agoSPDY is great and looking foward to support all around, but looking at that waterfall example, why the heck would anyone develop a website that loads that many elements all at once? No-one has a viewport that large. You can do lazy image loading in just a few lines of javascript, without jquery. Scripts can be deferred, etc. I fear SPDY is going to be yet another way to allow shoddy, lazy website functionality.
- munificent 15y ago> why the heck would anyone develop a website that loads that many elements all at once? I just opened my G+ page and count 50+ user thumbnails. Many modern social websites have lots and lots of small unique user-specific images.
- justincormack 15y agoYou could sprite a users most common friends to improve this.
- richbradshaw 15y agoA sprite per user, that changes every few days? 100,000,000 users, many with upwards of 1000 friends, with no obvious way to determine the most frequent? You could sprite the top 100 users, but that wouldn't have much benefit to most people. Top 1000 is likely too big to send out to every user. Just sending them as we do now is lots of HTTP requests. If we could somehow reduce the requests... Ah, pipelining, or even better the built in feature of SPDY. In reality right now, Google+ uses SPDY for everything but the avatars, which are served over normal HTTPS from https://lh3.googleusercontent.com/ https://lh3.googleusercontent.com/. Wonder why?
- lukesandberg 15y agoIt may be not difficult to do lazy image loading in javascript but ideally you wouldn't have to do it at all. It doesn't encourage lazy or shoddy work. it just allows web developers to focus on creating value rather than just figuring out how to efficiently load images. It's kind of like the argument that garbage collectors are bad because encourage people to use memory inefficient designs, when in fact the reason that garbage collectors are good is because it allows you to focus on more important problems (like design and features). Sure every tool has a different way to shoot yourself in the foot but that doesn't mean you shouldn't use the tool. tl;dr If SPDY lets me write a website without worrying about how many elements are loading at a time then ill have more time to spend on actually building a product.
- silentOpen 15y agoSPDY may be technically sound but... Mozilla Corp: Wholly 0wned Subsidiary of Google Inc
- eliben 15y agoWhy? AFAICS, SPDY is open and available for everyone who wants to implement it. What's so bad about companies making it open, free and open source, thus contributing to a better Internet experience for everyone? No one limited SPDY to Google sites - Microsoft and Yahoo are free to implement it for their servers and enjoy browsing speedups with Chrome and (soon) Firefox 11.
- silentOpen 15y agoSo will my web server handle HTTP 1.1, SPDY, and HTTP Next then? Is Mozilla acting in the interest of the Open Web or was this a bargaining chip with their $300M default search provider deal?
- FooBarWidget 15y agoYes. Apache already has mod_spdy and nginx has plans to implement it. Browsers fallback to regular http if the server doesn't speak spdy. There are no disadvantages for you.
- silentOpen 15y agoSPDY may be technically sound but... Traffic is harder to debug. Google continues to act like it owns the Web. These are disadvantages for the world. Bring on the downvotes of the naive Googlers! This place was getting boring anyway...
- eliben 15y agoI think programmers have achieved harder tasks than detecting which protocol the server speaks and speaking its language, starting with the most optimal protocol and falling back to simpler and more common ones.
- afhof 15y agoPerhaps someone with more experience with network protocols can explain the hype about SPDY, since I cannot seem to figure it out. Looking at the features Google is toting, I can't help but feel underwhelmed: - Single Request per Connection. It seems that HTTP 1.1 already addressed this with pipelining. - FIFO Queuing. I feel like the client is in a better position to know in what order the page needs to be rendered than the server. Why shouldn't the server respond in the order that the client asked for? - Client Initiated Request. Wouldn't it be better inform the client of what it needs rather than just guessing that the client needs these files and sending them down the pipe? It seems that this feature might waste bandwidth, when it could have hit the cache. - Uncompressed headers. For slow lines, compressed header might be nice if they were very large. That said, I think a better solution to compressing data is to not send it at all. (If you want to increase speed, do you REALLY need to send the User-Agent and Referer at all?) The smallest data is the one that isn't sent. - Optional data compression. SPDY is forcing data compression? That seems wasteful of power, esp. for mobile devices when sending picture, sound, or video data. Of course, this list is all just blowing smoke until its actually tested. However, I couldn't find an independent study of SPDY performance.
- codeka 15y agoTo address some of your points: - pipelining is still single-file request-response though. With SPDY, you can send multiple requests at once, and the server responds to them in whatever order it likes. - The point of removing the FIFO queuing is that the server can start responding with simple files before the more expensive resources are calculated. Usually the HTML itself can take a while to be generated server-side, where as CSS and JS files are usually just served straight off disk. In a FIFO model, the 200ms the client is waiting for the HTML to be generated is just wasted. You could be using that time to be downloading CSS or JS or images, etc. - There's two options for server-initiated requests in SDPY. One where the server says "Since you requested this resource, you'll probably also want this, this, and this." (i.e. it sends links to the client with the related resources). Other other option is where it actually says, "Since you request this resources, here's these other resources you might be interested in as well." In the first case, the client can begin processing those other files (e.g. checking it's local cache or actually making a request for them) before the original resource has completed downloading/parsing. In the second case, it could be that the original resource and the "sub-resource" (e.g. HTML file and attached CSS file) have similar caching rules, so if a client requests one it's likely that it'll request the other anyway. - SDPY also has options for not including those kinds of things (e.g. User-Agent, Host, Accept-*) on every request. But even when you do that, compression still has benefits. Even once you've removed all the redundant data, compression will still help, so why wouldn't you? - I agree there's certain kinds of content which don't benefit greatly from compression. But on almost all platforms, CPU power is much higher than network capacity. In fact, I can't think of a single platform where that's not the case...
- aualin 15y agoAh, now we are closer to mongrel2 coming with spdy