What is an If-Modified-Since header?
Makes a GET request conditional - the server only sends the full body if the resource has changed since the given date.
If-Modified-Since lets a browser or crawler ask a website 'has this changed since I last saw it?', and if not, the server can reply with a lightweight 304 Not Modified instead of resending the whole page. It's a meaningful bandwidth and speed win when implemented correctly, and a website that always returns a full 200 response regardless of this header is leaving an easy performance improvement on the table.
Common use case
A browser revalidating a cached image sends the Last-Modified timestamp it was given back as If-Modified-Since, letting the server skip re-sending the image if it hasn't changed.
Example
If-Modified-Since: Sat, 22 Aug 2026 09:15:00 GMTHistory
Part of the original HTTP/1.0 specification, RFC 1945 (1996).
Did you know?
It only has second-level precision, which is why ETag-based validation via If-None-Match is generally considered more reliable for content that can change more than once a second.