HTTP Conditional Requests with ETag and Last-Modified
HTTP caching is not only about choosing a long max-age. Applications often need clients to revalidate data because a resource can change, while still avoiding retransmitting the full representation when it has not changed.
HTTP validators solve that problem. The two common validators are ETag and Last-Modified.
Freshness and validation are different A freshness directive can tell a cache that a response may be reused without contacting the server for a period: