no cache
If the no-cache directive does not specify a field name, then the cache SHOULD NOT use the response to satisfy a subsequent request without successfully retrying the source server. This allows the origin server to prevent caching even by caches that have been configured to return stale responses to client requests.
If the no-cache directive specifies one or more field names, then the cache MAY use the response to satisfy a subsequent request, taking into account any other caching restrictions. However, the specified field names MUST NOT be sent in response to a subsequent request without successfully re-checking with the source server. This allows the origin server to prevent reuse of certain header fields in the response, while preserving the caching of the rest of the response.
maximum age
Indicates that the client is ready to accept a response whose age does not exceed the specified time in seconds. If the maximum level directive is not specified, the client does not want to accept an outdated response.
non-shop
The purpose of the no-store directive is to prevent the inadvertent release or storage of confidential information (for example, on backup tapes). The no-store directive applies to the entire message, and MAY be sent either in the response or in the request. If sent in a request, the cache SHOULD NOT store any part of this request or any response to it. If sent in a response, the cache SHOULD NOT store any part of this response or request that caused it. This directive applies to both non-shared and shared caches. "SHOULD NOT STORE" in this context means that the cache SHOULD NOT intentionally store information in non-volatile memory, and SHOULD attempt to remove information from the non-volatile memory with maximum efficiency as soon as possible after sending it.
Even if this directive is associated with a response, users can explicitly store such a response outside the caching system (for example, with the Save As dialog). History buffers MAY store such responses as part of their normal operation.
The purpose of this directive is to satisfy the stated requirements of certain users and service authors who are concerned about accidental outbreaks of information through unexpected calls to cache data structures. Although the use of this directive may improve confidentiality in some cases, we caution that it is in no way a reliable or sufficient mechanism to ensure confidentiality. In particular, malicious or compromised caches may not recognize or obey this directive, and communication networks may be vulnerable to eavesdropping.
Additional information @ http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.2
source share