|
|
A Web cache sits between one or more Web servers (also known as origin servers) and a client or many clients, and watches requests come by, saving copies of the responses — like HTML pages, images and files (collectively known as representations) — for itself. Then, if there is another request for the same URL, it can use the response that it has, instead of asking the origin server for it again.
There are two main reasons that Web caches are used:
- To reduce latency — Because the request is
satisfied from the cache (which is closer to the client) instead of the
origin server, it takes less time for it to get the representation and
display it. This makes the Web seem more responsive.
- To reduce network traffic — Because representations
are reused, it reduces the amount of bandwidth used by a client. This
saves money if the client is paying for traffic, and keeps their
bandwidth requirements lower and more manageable.
Tips for Building a Cache-Aware Site
- Use URLs consistently — this is the golden rule of
caching. If you serve the same content on different pages, to different
users, or from different sites, it should use the same URL. This is the
easiest and most effective way to make your site cache-friendly. For
example, if you use “/index.html” in your HTML as a reference once,
always use it that way.
- Use a common library of images and other elements
and refer back to them from different places.
- Make caches store images and pages that don’t change often
by using a
Cache-Control: max-age header with a large
value.
- Make caches recognise regularly updated pages by
specifying an appropriate max-age or expiration time.
- If a resource (especially a downloadable file) changes,
change its name. That way, you can make it expire far in the
future, and still guarantee that the correct version is served; the page
that links to it is the only one that will need a short expiry time.
- Don’t change files unnecessarily. If you do,
everything will have a falsely young
Last-Modified date.
For instance, when updating your site, don’t copy over the entire site;
just move the files that you’ve changed.
- Use cookies only where necessary — cookies are
difficult to cache, and aren’t needed in most situations. If you must
use a cookie, limit its use to dynamic pages.
- Minimize use of SSL — because encrypted pages are
not stored by shared caches, use them only when you have to, and use
images on SSL pages sparingly.
-
Check your pages with Resource Expert Droid
Caching Tutorial by Mark Nottingham
|
|