The image on Figure 6-1 is part of a waterfall diagram showing the HTTP requests that an IE8 browser performed to download the graphics on the home page of an e-commerce website.
The site name and URLs are blurred to conceal the site’s identity. It would be unfair to single out one site by name as an example of poor performance when, as we’ll see later, so many others suffer the same problem.
Figure 6-1. Stair-step waterfall pattern
The stair-step pattern seen in this waterfall sample shows several noteworthy things:
The client used six concurrent, persistent connections per server hostname, a typical (http://www.browserscope.org/?category=network) configuration among modern desktop browsers.
On each of these connections, the browser issued HTTP requests serially: it waited for a response to each request before sending the next request.
All the requests in this sequence were independent of each other; the image URLs were specified in a CSS file loaded earlier in the waterfall. Thus, significantly, it would be valid for a client to download all these images in parallel.
The round-trip time (RTT) between the client and server was approximately 125ms. Thus many of these requests for small objects took just over 1 RTT. The elapsed time the browser spent downloading all N of the small images on the ...