Table 15-1 shows
that 6 out of 10 top U.S. web sites use ETags on a majority of their
components. To be fair, three of them have modified the ETag format to
inode (Apache) or
ChangeNumber (IIS). Four or more contain ETags
that haven't been modified and therefore cause the performance problems
Table 15-1. ETags observed across 10 top web sites
Components with ETags
yes and no
An example of a component with different ETags across the cluster
of servers is http://stc.msn.com/br/hp/en-us/css/15/blu.css from http://msn.com. The HTTP headers from the first request
in the example contains an ETag value of
GET /br/hp/en-us/css/15/blu.css HTTP/1.1 Host: stc.msn.com HTTP/1.1 200 OK Last-Modified: Tue, 03 Apr 2007 23:25:23 GMT ETag: "80b31d5a4776c71:6e0" Content-Length: 647 Server: Microsoft-IIS/6.0
On the first reload, the ETag matches and a 304 response is sent.
Content-Length header is missing
from the response because the 304 status code tells the browser to use
the content from its cache.
GET /br/hp/en-us/css/15/blu.css HTTP/1.1 Host: stc.msn.com If-Modified-Since: Tue, 03 Apr ...