Браузеры делают это автоматически с помощью нескольких механизмов кэширования, которые предоставляет HTTP. Двумя механизмами, наиболее очевидными для определения того, изменилась ли страница, является концепция Теги объекта и Последнее изменение: HTTP-заголовок. Эти механизмы позволяют браузеру выполнять условные запросы на веб-сайт, например. выберите страницу только в том случае, если она была изменена.
Цитирование RFC 2616 по HTTP 1.1:
3,11 Entity Метки
Entity теги используются для сравнения двух или более объектов из того же запрашиваемого ресурса. HTTP/1.1 использует теги объектов в ETag (раздел 14.19), If-Match (раздел 14.24), If-None-Match (раздел 14.26) и поля заголовка If-Range (раздел 14.27). Определение того, как они используется и сравнивается как валидаторы кеша находится в разделе 13.3.3. Тег объекта состоит из непрозрачной строки с кавычками, возможно, с префиксом индикатором слабости.
Ключевым моментом здесь является то, что ETag является кэш валидатор. Если браузер имеет кешированную версию страницы (так называемый ресурс в RFC), он может использовать ETag, чтобы определить, действительна ли кешированная страница, т.е. если страница не изменилась на сервере.
И о дате изменения:
14.25 If-Modified-Since
Оператор If-Modified-Since Поле заголовка запроса используется с методом, чтобы сделать его условным: если запрашиваемый вариант не был изменен с момента, указанного в этом поле, сущность не будет , возвращенной с сервера; вместо этого 304 (не измененный) ответ будет возвращен без какого-либо тела сообщения.
Ключевым моментом здесь является то, что сервер может знать, когда страница была изменена, и может информировать клиента.
Если вы открываете монитор HTTP (например, Fiddler для Windows) и наблюдаете, как ваш браузер взаимодействует с веб-сайтами, вы увидите использование этих механизмов из первых рук, когда браузер сделает условные запросы.
Чтобы конкретно задать вопрос о заголовок Last Modified, этот заголовок сам по себе не будет работать на большинстве страниц, которые вы найдете. Но в сочетании с ETag он может вас начать.
HTTP имеет несколько механизмов для этого. Например, см. Http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html – bzlm
Спасибо, это очень полезная статья. – Sadegh
@bzlm, пожалуйста, скопируйте комментарий на новый ответ. – Sadegh