max-age: sets the freshness lifetime in seconds. For 3600 seconds the cached copy is considered fresh and can be served without contacting the origin.
2 / 5
What is the purpose of an ETag?
ETag: an opaque identifier for a specific version of a resource. Clients send it back via If-None-Match; if unchanged the server returns 304 Not Modified with no body.
3 / 5
What does Cache-Control: no-cache actually instruct?
no-cache: the response may be stored, but it must be revalidated (via ETag or Last-Modified) before being served from cache. To prevent storage entirely use no-store.
4 / 5
What problem does the Vary header solve?
Vary: lists request headers (e.g. Accept-Encoding) that the cached response depends on, so a cache stores and serves separate variants per header value.
5 / 5
What does the immutable directive in Cache-Control signal?
immutable: tells the browser the body will not change while fresh, so it should not send a conditional revalidation even when the user reloads. Ideal for fingerprinted static assets.