Cache-Control directives: storage and reuse are different
no-cache permits storage but requires successful validation before reuse. no-store instructs caches not to store the response. max-age sets a freshness lifetime; it is not a guarantee that a cache will retain the object for that long.
Cache-Control directives: storage and reuse are different
| Response directive | What it controls | Example interpretation |
|---|---|---|
| max-age=3600 | Freshness lifetime | Response is stale once its current age exceeds 3,600 seconds. |
| s-maxage=600 | Shared-cache freshness | Shared caches use 600 seconds instead of max-age or Expires. |
| no-cache | Reuse validation | Stored response must be successfully validated before reuse. |
| no-store | Storage prohibition | Private and shared caches must not store this response. |
| private | Shared-cache storage | Shared caches must not store the response; a private cache may. |
| public | Shared-cache eligibility | Allows shared caching in cases otherwise restricted; other conditions still apply. |
| must-revalidate | Reuse after becoming stale | Once stale, the cache must successfully validate before reuse. |
| no-transform | Representation changes | Intermediaries must not transform the representation. |
Formula & method
Read the complete response policy and any relevant request directives. Separate permission to store a response from permission to reuse it without contacting the server. Revalidation can return 304 and reuse a stored body; that is different from downloading a fresh body every time.
Choose a policy according to the resource. A content-hashed public asset and an authenticated account page have different correctness and privacy requirements. This reference explains directive semantics rather than prescribing one header for every application. Provider configuration can impose additional caching rules.
Worked example
Cache-Control: public, max-age=0, must-revalidate makes a stored response immediately require validation for reuse. It does not mean “never store,” and it does not provide a one-hour freshness lifetime.
What can change the answer
No-store is not a complete privacy or data-erasure mechanism. Conflicting headers, authorization, status and cache rules can affect the final behaviour.
Sources & definitions
Method checked:
Continue with a related task
Cache Origin Savings Calculator
Expected origin requests equal total requests multiplied by one minus the cache-hit fraction. At 80% hits, 100,000 requests leave 20,000 expected origin fetches.
Page View Revenue Calculator
Page views equal visits multiplied by pages per visit. Estimated revenue equals those page views divided by 1,000, multiplied by page RPM.
Uptime Downtime Budget Calculator
Allowed downtime equals the monitoring window multiplied by one minus the uptime target. A 99.9% target over 30 days allows 43.2 minutes in this time-based model.
Observed Uptime Calculator
Observed uptime equals monitored time minus downtime, divided by monitored time, multiplied by 100. Use downtime measured within the same monitoring window.