How If-Modified-Since works
Sent by browsers when revalidating a response that had Last-Modified. The server compares dates and answers 304 Not Modified (no body) or 200 with the new version. It is ignored when If-None-Match is also present.
Examples
If-Modified-Since: Wed, 21 Oct 2026 07:28:00 GMT
Check it
# Show the request headers curl sends (lines starting with >)
curl -sv -o /dev/null https://example.com 2>&1 | grep '^>'
Paste a full set of response headers into the HTTP header checker to get every header explained and common mistakes flagged.
Related headers
- Last-Modified: says when the resource was last changed, for revalidation and heuristic caching.
- If-None-Match: asks the server to send the resource only if its ETag differs from the ones listed.
- ETag: gives a version identifier to a response, so caches can ask “has it changed?” cheaply.
More caching headers
Cache-Control , Expires , Age , Vary .
Sources
Spotted a mistake? Email hello@devtoolsmith.com and we’ll fix it.
Frequently asked questions
What does the If-Modified-Since header do?
The If-Modified-Since request header asks for the resource only if it changed after the given date. Sent by browsers when revalidating a response that had Last-Modified. The server compares dates and answers 304 Not Modified (no body) or 200 with the new version. It is ignored when If-None-Match is also present.
How do I see the If-Modified-Since header?
Open your browser’s dev tools, select a request in the Network tab and look under Request Headers. On the command line, "curl -v https://example.com" prints the request headers it sends, marked with ">".