One of the nice properties of HTTP as a protocol is that it includes a very well-thought caching protocol, which allows for proxies and caches to serve as intermediary between the authoritative server and the end-user client.
While this is often used either in big proxies set up where one proxy caches results for a large set of clients, or at a micro-level where a given user agent keeps some set of resources in its private cache, I’ve found it much more useful to set up a full cache for my laptop that allows to do transparently off-line browsing.
This is a preview of
Offline Web cache with Squid (504 words)