SPDY

From Wikipedia, the free encyclopedia
Jump to: navigation, search

SPDY (pronounced speedy)[1] is an experimental networking protocol developed primarily at Google for transporting web content.[1] Although not currently a standard protocol, the group developing SPDY has stated publicly that it is working toward standardization (available now as an Internet Draft[2]), and has reference implementations available in both Google Chrome [3] and Mozilla Firefox.[4] SPDY is similar to HTTP, with particular goals to reduce web page load latency and improve web security. SPDY achieves reduced latency through compression, multiplexing, and prioritization.[1] The name is not an initialism, but is a shortened version of the word "speedy".[5] SPDY is a trademark of Google.[6]

Contents

[edit] Design

The goal of SPDY is to reduce web page load time.[7] This is achieved by prioritizing and multiplexing the transfer of web page subresources so that only one connection per client is required.[1][8] TLS encryption is nearly ubiquitous in SPDY implementations, and transmissions are gzip or DEFLATE compressed by design (in contrast to HTTP, where the headers are not compressed). Moreover, servers may hint or even push content instead of awaiting individual requests for each resource of a web page.[9]

[edit] Drawbacks

  • Content is pushed regardless of existing cache resulting in waste of bandwidth.
  • Filtering software that rely on HTTP requests will no longer work.

[edit] Relation to HTTP

SPDY does not replace HTTP, it modifies the way HTTP requests and responses are sent over the wire[1]; this means that all the existing server-side applications can be used without modification if a SPDY-compatible translation layer is put in place. When sent over SPDY, the HTTP requests are processed, tokenized, simplified and compressed. For example, each SPDY end-point keeps track of which headers have been sent in the past requests and can avoid resending the headers that have not changed, those that must be sent are sent compressed.

The IETF working group for HTTPbis started working in 2012 on integrating the SPDY features into HTTP 2.0[10].

[edit] Usage

The browsers Google Chrome and Chromium utilize SPDY[11][12] when communicating with Google services, such as Google Search, Gmail, Chrome sync and when serving Google's ads. Google acknowledges that the use of SPDY is enabled in the communication between Chrome and Google's SSL-enabled servers.[13] SPDY sessions can be inspected in Chrome at the special URL:

chrome://net-internals/#events&q=type:SPDY_SESSION%20is:active

Amazon's Silk browser for the Kindle Fire uses the protocol to communicate with their EC2 service for optimized, cloud-based web page rendering. [14]

As of version 11 Mozilla Firefox and SeaMonkey V2.8 supports SPDY though it is not enabled by default. It can be turned on through the network.http.spdy.enabled preference in about:config.[4] SPDY is set to be enabled by default with the release of Firefox 13.[15]

There is a command line switch for Google Chrome (--enable-websocket-over-spdy) that enables an early experimental implementation of WebSocket over SPDY.[16]

[edit] See also

[edit] References

  1. ^ a b c d e "SPDY: An experimental protocol for a faster web". Chromium Developer Documentation. http://dev.chromium.org/spdy/spdy-whitepaper. Retrieved 2009-11-13. 
  2. ^ "SPDY Protocol". http://tools.ietf.org/html/draft-mbelshe-httpbis-spdy-00. Retrieved 2012-02-08. 
  3. ^ "SPDY on Google servers?". https://groups.google.com/group/spdy-dev/browse_thread/thread/4c2396ecbc36b1c4. Retrieved 2012-02-28. 
  4. ^ a b "Mozilla Bug 528288 - Implement SPDY protocol". https://bugzilla.mozilla.org/show_bug.cgi?id=528288. 
  5. ^ Schachinger, Kristine (August 11, 2011). "5 Black Hat Attack Vulnerabilities & Defensive Strategies". http://searchenginewatch.com/article/2100972/5-Black-Hat-Attack-Vulnerabilities-Defensive-Strategies. Retrieved September 29, 2011. 
  6. ^ "Google Permissions: Guidelines for Third Party Use of Google Brand Features". Google. http://www.google.com/permissions/guidelines.html. Retrieved September 30,2011. 
  7. ^ "A 2x Faster Web". Official Google Chromium Blog. 2009-11-11. http://blog.chromium.org/2009/11/2x-faster-web.html. Retrieved 2009-11-13. 
  8. ^ Iljitsch van Beijnum (2009-11-12). "SPDY: Google wants to speed up the web by ditching HTTP". Ars Technica. http://arstechnica.com/web/news/2009/11/spdy-google-wants-to-speed-up-the-web-by-ditching-http.ars. Retrieved 2009-11-13. 
  9. ^ Mirko Lindner (13 November 2009). "Google stellt HTTP-Alternative SPDY vor". http://www.pro-linux.de/news/2009/14950.html. Retrieved 2011-10-21. (German)
  10. ^ "Rechartering HTTPbis". http://lists.w3.org/Archives/Public/ietf-http-wg/2012JanMar/0098.html. Retrieved 2012-02-28. 
  11. ^ Chromium SPDY client implementation
  12. ^ Chromium: SPDY proxy examples
  13. ^ spdy-dev mailing list: SPDY on Google servers?
  14. ^ Ryan Paul (28 September 2011). "Amazon's Silk Web browser adds new twist to old idea". http://arstechnica.com/gadgets/news/2011/09/amazons-silk-web-browser-adds-new-twist-to-old-idea.ars. Retrieved 2011-10-21. 
  15. ^ Mozilla Bug 724563
  16. ^ List of Chromium Command Line Switches

[edit] External links

Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages