= HTTP private cache
{c}
An <HTTP private cache> is dedicated to a single user. It is often implemented as part of a user agent, but its defining property is the single-user scope rather than a particular machine or storage medium. An <HTTP shared cache> can instead reuse responses for multiple users.<HTTP Caching>[§1, cache definitions]{ref}
Suppose a user's response carries `Cache-Control: private, max-age=60`. The unqualified `private` directive permits a private cache to store the response subject to the normal storage rules, while forbidding a shared cache from storing it. The `max-age` directive supplies its explicit <HTTP freshness lifetime>; it does not cancel the single-user storage restriction.<HTTP Caching>[§3, storage conditions; §§5.2.2.1 and 5.2.2.7, max-age and private]{ref}
If the correctly calculated <HTTP current age> is twenty seconds, sixty seconds exceeds that age and forty seconds remain until the freshness boundary. Reuse still requires matching the relevant request and satisfying other applicable constraints. At current age sixty, the strict freshness comparison fails; <HTTP cache validation> may then establish whether the stored representation remains suitable.<HTTP Caching>[§§4–4.3, response construction, freshness and validation]{ref}
Being private does not mean that every response must be stored or may be reused indefinitely. A cache can discard an entry, and an otherwise applicable restrictive directive remains significant. In particular, unqualified `no-cache` requires successful validation before subsequent reuse, whereas `no-store` prohibits the corresponding storage and reuse under its defined rules.<HTTP Caching>[§§5.2.2.4–5.2.2.5, no-cache and no-store]{ref}
The word private is also a cache-control distinction, not an encryption mechanism or a promise that the message is inaccessible to everyone else. The standard explicitly separates those meanings. Correct <HTTP cache key> selection and response handling still matter inside a single-user cache.<HTTP Caching>[§5.2.2.7, private directive and privacy qualification; §4.1, request matching]{ref}
For negotiated content, the stored representation can depend on request fields as well as the target. A private cache must therefore apply the same relevant matching rules rather than treating every request by its one user as interchangeable.
Back to article page