Client Caching
To reduce bandwidth usage and latency, clients are encouraged to cache the data retrieved from a web server.
On sites with proxy servers, the proxy can also work as a cache. This allows a user of the proxy server to use documents that might have been previously retrieved and cached by other users of the proxy.
A complication with caching, however, is that the client or proxy needs to know when the document has changed on the server. HTTP provides a mechanism for cache management through a set of headers. There are two general methods for determining if a server resource has changed. One method checks for the most recent modification time of the document. Another method checks for modifications in the entity tag associated with the document.
The server can also use the Cache-Control
and
Pragma
headers to indicate caching properties to the client. Some documents
aren’t appropriate for caching, either for security reasons or
because they are dynamic documents (e.g., created on the fly by a CGI
script). Under HTTP 1.0, the Pragma
header with a
no-cache
value indicates the document should not
be cached. Under HTTP 1.1, the Cache-Control
header supplants Pragma
, with several caching
directives in addition to no-cache
.
Get HTTP Pocket Reference now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.