Fast response time is not your only consideration when designing web pages. If it were, then we'd all take Rule 1 to an extreme and place no images, scripts, or stylesheets in our pages. However, we all understand that images, scripts, and stylesheets can enhance the user experience, even if it means that the page will take longer to load. Rule 3, described in this chapter, shows how you can improve page performance by making sure these components are configured to maximize the browser's caching capabilities.
Today's web pages include many components and that number continues
to grow. A first-time visitor to your page may have to make several HTTP
requests, but by using a future
header, you make those components cacheable. This avoids unnecessary HTTP
requests on subsequent page views. A future
Expires header is most often used with images,
but it should be used on all components, including
scripts, stylesheets, and Flash. Most top web sites are not currently
doing this. In this chapter, I point out these sites and show why their
pages aren't as fast as they could be. Adding a future
Expires header incurs some additional
development costs, as described in the section "Revving Filenames."
Browsers (and proxies) use a cache to reduce the number of HTTP
requests and decrease the size of HTTP responses, thus making web pages
load faster. A web server uses the
Expires header to tell the web client that it can use the current ...