How Last-Modified works
The browser sends the date back in If-Modified-Since, and gets 304 Not Modified if nothing changed. It only has one-second precision, so two changes within a second look identical; ETag is more reliable. Without an explicit Cache-Control, browsers use it to guess a cache lifetime.
Examples
Last-Modified: Wed, 21 Oct 2026 07:28:00 GMT
Check it
curl -sI https://example.com | grep -i '^last-modified:'
Paste a full set of response headers into the HTTP header checker to get every header explained and common mistakes flagged.
Related headers
- If-Modified-Since: asks for the resource only if it changed after the given date.
- ETag: gives a version identifier to a response, so caches can ask “has it changed?” cheaply.
- Expires: gives an absolute date after which the response is stale.
More caching headers
Cache-Control , If-None-Match , Age , Vary .
Sources
Spotted a mistake? Email hello@devtoolsmith.com and we’ll fix it.
Frequently asked questions
What does the Last-Modified header do?
The Last-Modified response header says when the resource was last changed, for revalidation and heuristic caching. The browser sends the date back in If-Modified-Since, and gets 304 Not Modified if nothing changed. It only has one-second precision, so two changes within a second look identical; ETag is more reliable. Without an explicit Cache-Control, browsers use it to guess a cache lifetime.
How do I see the Last-Modified header?
Run "curl -sI https://example.com" to print a response’s headers, or open the Network tab in your browser’s dev tools and select the request. Paste the headers into the HTTP header checker on this site to get each one explained.