SPDYing Up the Web

SPDY, a potential successor to HTTP, as it improved performance and a proven deployment strategy.

SPDY (pronounced Speedy), is an open networking protocol, developed by Google, to transport web content, it is currently used as a working base of HTTP/2. Its goal is to reduce web page load latency. It is achieved by prioritizing and multiplexing the transfer of web page subresources so that only one connection per client is required. Server push (or Resource Push) is included to actively push resources to client when the resource is available.

Technically, HTTP/1.0 requires differ connection for each request/response pairs. HTTP/1.1 started support request pipelining which contains multiple request/response pairs in one connection. Consider a web page having multiple images and css resources, only the HTML of web page returned then it get parsed to download separately the image resources. What SPDY do as a gateway between client and server is to coordinating the request and resources on behalf of clients on the server. When it received requests from client, it get the HTML of the web page, it server push the images resources to the client if available before it response the full HTML web content down to the client browser. Each SPDY endpoint also intelligent enough to keep tracks the last headers being sent and avoid to send again if it is unchanged. The content is compressed before sent.

SPDY is as a gateway situated at the high speed Internet backbone, the client make requests that passed through the SPDY gateway before it reached the external websites. SPDY mechanism is activated when both client and server supports SPDY, or fallback using HTTP otherwise.

Furthermore, the keys of SPDY are, i) Secure connection to gateway, regardless of server-side SSL support. ii) Single client-side connection across all domains. iii) Delegated DNS lookup. iv) Intelligent push. v) Caching. SPDY gateway will also been developed as Device-specific SPDY gateways and Open SPDY gateways.

Device-specific SPDY gateway such as Amazon Kindle implements its own SPDY gateway, (own SPDY client and server side), resulting simplify the vendor implementation which may bring faster browsing and as a selling point competed to others. Amazon also seem interested in data mining and advertising opportunities that come with controlling the gateway.

Server support and client support is increased significantly. Google Services such as Gmail, Google Search will use SPDY when it is available.Twitter, and open source Jetty Servers, apache mod, node.js is announced to implement SPDY. Google Chromium, possibly the latest build of Google Chrome, Mozilla Firefox, Opera is implementing as well. Facebook and WordPress is announced to implement SPDY across their hosted pages.

More information available at:
1) http://t.co/ESeVpWhi via @CACMmag
2) http://en.wikipedia.org/wiki/SPDY
3) SPDY & Secure Proxy Support in Google Chrome
4) https://github.com/igrigorik/node-spdyproxy/ (Node JS SPDY Proxy)
5) SPDY versus WebSockets
(the ideal of future is SPDY handles request/response, while WebSocket handles real time communication.)
6) WebSocket Layering over SPDY (Google Docs)
7) http://www.slideshare.net/fabianlange/the-spdy-protocol

[ 5) is talking SPDY is operating over SSL and it is secure compared with WebSocket. SPDY contains compressed GZip Headers where WebSocket does not have, which used to be parsed by firewalls to know the origin of request, less secure. 6) is talking Google proposed SPDY/3, which WebSocket Layering over SPDY, to provide faster performance and also security ]

Google I/O 2012 SPDY

Author: fyhao

Jebsen & Jessen Comms Singapore INTI University College Bsc (Hon) of Computer Science, Coventry University

Leave a Reply