I was thinking of a different solution, but it is a bit complicated. Configure some fake HEAD requests with a max-age: 1 response header to force the browser to intercept them. Then you should get the if-modified-since header from any modern browser, for example:
If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
Just be careful not to send the last corrected headers with the first answer, because
For best results when sending an If- Modified message. Since the header field is for checking the cache, clients are advised to use the exact date string obtained in the previous Last- Modified header field when possible.
Note the “whenever possible” disclaimer. This and other parts of the header description imply that the client will use its own clock when it knows nothing about the servers.
With the right combination of headers, this can work very well.
EDIT: I tried some tests with FF, but could not find the correct combination of headers to run if-modified-since during client time. FF sends only the header if it received the previously modified header earlier, and then it simply reflects the value back (even if it is not a valid date).
source share