Failure in invalidating cache
The basic cache mechanisms in HTTP/1.1 (server-specified expiration times and validators) are implicit directives to caches.
In some cases, a server or client might need to provide explicit directives to the HTTP caches. The Cache-Control header allows a client or server to transmit a variety of directives in either requests or responses.
If a decision might affect semantic transparency, the implementor ought to err on the side of maintaining transparency unless a careful and complete analysis shows significant benefits in breaking transparency.
A correct cache MUST respond to a request with the most up-to-date response held by the cache that is appropriate to the request (see sections 13.2.5, 13.2.6, and 13.12) which meets one of the following conditions: 2. In the default case, this means it meets the least restrictive freshness requirement of the client, origin server, and cache (see section 14.9); if the origin server so specifies, it is the freshness requirement of the origin server alone.
The cache-control directives are described in detail in section 14.9.Warnings MAY be used for other purposes, both cache-related and otherwise.The use of a warning, rather than an error status code, distinguish these responses from true failures. The first digit indicates whether the Warning MUST or MUST NOT be deleted from a stored cache entry after a successful revalidation: 1xx Warnings that describe the freshness or revalidation status of the response, and so MUST be deleted after a successful revalidation.Or the user agent might habitually add "Cache- Control: max-stale=3600" to every request.The user agent SHOULD NOT default to either non-transparent behavior, or behavior that results in abnormally ineffective caching, but MAY be explicitly configured to do so by an explicit action of the user.