HTTP: Fresh vs stale response
29 May 2023 (Updated 30 May 2023)
In a nutshell
A cached response is fresh if it’s still valid and can be reused. For example, its Expires
value might be in the future or its ETag
value might match what’s in the cache.
A response is stale if the cached response is no longer valid. For example, its Expires
value might be a date in the past or its ETag
value might not match what is in the cache.
How do you know if a response is fresh or stale?
You look at a response’s age – the time elapsed since the response was first generated.
Consider the following example HTTP response:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1024
Date: Tue, 22 Feb 2022 22:22:22 GMT
Cache-Control: max-age=604800
<!doctype html>
…
For this response, its age is the time elapsed since Tue, 22 Feb 2022 22:22:22 GMT
. This means that:
- If the age of the response is less than one week, the response is fresh.
- If the age of the response is more than one week, the response is stale.
Tagged:
HTTP caching
Thanks for your comment 🙏. Once it's approved, it will appear here.
Leave a comment