Introducing SPDY
blog.cloudflare.com
blog.cloudflare.com
Can SPDY theoretically be transitioned to not be built on top of TLS, or is the MSFT work a more likely solution?
How do you do that?
"For SPDY support, CloudFlare acts as a gateway... We handle the multiplexing and begin sending down objects we already have in our cache. The request to the origin server for non-cached objects is sent over standard HTTP/S."
This is similar to the proxy mode in Amazon's Silk browser for Kindle Fire.
Silk is an entirely different setup. Silk (a) manually sets their SPDY gateway as a browser proxy, which is a system level setting, and (b) silk does not tunnel HTTPS requests. CloudFlare obviously doesn't have control over my browsers proxy settings, so if the page I'm loading is abc.com/page, and that page has a request to twitter.com/widget.js, then the browser should open a connection directly to twitter.com to fetch that resource.
P.S. SPDY does allow tunneling HTTPS, but once again, that requires a system level proxy setup.
I'm not sure how well cloudflare handles http vary headers, e.g. 3rd party resources that serve different content depending on cookies or user agent. An example could be google web fonts which serves different css and fonts to different browsers.
Seems like there is a bit of false advertising going on here.
[1] http://blog.cloudflare.com/56590463
[2] http://www.cloudflare.com/wiki/Rocket_LoaderI think very few ads work that way, though. It's almost always a javascript include (often from a 3rd party ad server).
You can think of domain sharding as a workaround for the fact that HTTP does not allow true multiplexing. With SPDY, we can avoid that complexity and reuse the same connection.