(0)

SPDY: An experimental protocol for a faster web

Today, HTTP and TCP are the protocols of the web. TCP is the generic, reliable transport protocol, providing guaranteed delivery, duplicate suppression, in-order delivery, flow control, congestion avoidance and other transport features. HTTP is the application level protocol providing basic request/response semantics. While we believe that there may be opportunities to improve latency at the transport layer, our initial investigations have focussed on the application layer, HTTP.

Unfortunately, HTTP was not particularly designed for latency. Furthermore, the web pages transmitted today are significantly different from web pages 10 years ago such and demand improvements to HTTP that could not have been anticipated when HTTP was developed. The following are some of the features of HTTP that inhibit optimal performance:

  • * Single request per connection. Because HTTP can only fetch one resource at a time (HTTP pipelining helps, but still enforces only a FIFO queue), a server delay of 500 ms prevents reuse of the TCP channel for additional requests. Browsers work around this problem by using multiple connections. Since 2008, most browsers have finally moved from 2 connections per domain to 6.
  • * Exclusively client-initiated requests. In HTTP, only the client can initiate a request. Even if the server knows the client needs a resource, it has no mechanism to inform the client and must instead wait to receive a request for the resource from the client.
  • * Uncompressed request and response headers. Request headers today vary in size from ~200 bytes to over 2KB. As applications use more cookies and user agents expand features, typical header sizes of 700-800 bytes is common. For modems or ADSL connections, in which the uplink bandwidth is fairly low, this latency can be significant. Reducing the data in headers could directly improve the serialization latency to send requests.
  • * Redundant headers. In addition, several headers are repeatedly sent across requests on the same channel. However, headers such as the User-Agent, Host, and Accept* are generally static and do not need to be resent.
  • * Optional data compression. HTTP uses optional compression encodings for data. Content should always be sent in a compressed format.

You can read the full entry here: SPDY whitepaper

Filed under: XHTML and CSS, common — admin @ 10:50 am
 

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

copyright © 2010 artViper designstudio, all rights reserved

Latest twitter news

web | Mon Mar 15

#Maultaschen - www.fechters.com - delicatessen trade - real nice food!

TweetMeme | Sun Feb 28

RT @nettuts Top 20+ MySQL Best Practices - Nettuts+ http://bit.ly/6C4FqG

TweetMeme | Wed Feb 24

RT @mashable Typekit Launches its Cloud-Based Web Font Service http://bit.ly/4w68Ub

Random posts

09-09-17 | Double content myths ...

[caption id=attachment_210 align=alignnone width=275 caption=artViper][/caption] Google recognizes that most duplicat...

08-05-24 | mooSocialize update ...

The mooSocialize script has been updated. It now takes the url correctly, as there have been an issue when more than one...

07-04-06 | Study finds that AJAX toolkits don't protect ...

Study finds that AJAX toolkits don't protect against JavaScript security vulnerabilities (Ars Technica) In a study con...