no-store invalidation

Description

Responses to HTTP requests with "Cache-control: no-store" are not
cachable. Recently, we came across a cache that does not cache responses
to no-store requests but also does not invalidate an older cached entity
with the same URL. When future requests stop using no-store, the old
cached entity is served.

For example, the following happens in our test case:

Client requests an entity A without using no-store.

Cache proxies the transaction and caches the response (entity A).

Client requests the same entity A using "Cache-control: no-store".

Cache proxies the transaction and does NOT cache the response.

Client requests the same entity A again, without using no-store.

Cache serves the "old" entity A cached in step #2 above.

Does the cache violate the intent of RFC 2616 in step #6? If yes, should
that intent be made explicit (I cannot find any explicit rules
prohibiting the above behavior).

Change History

I don't see any intent being violated in that example.
An HTTP server must be able to interpret each request in isolation
(HTTP is stateless by definition), so it really doesn't matter
what requests came before the one which is answerable from the cache.