Отправка Last-Modified и обработка HTTP_IF_MODIFIED_SINCE на PHP
// время последнего изменения страницы в формате unix time
$lastModified = strtotime('2022-06-18 19:01:58');
// дата последней загрузки, отправляемая клиентом
$ifModified = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'] ?? '', 5));
if ($ifModified && $ifModified >= $lastModified) {
// страница не изменилась, отдача http статуса 304
header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');
exit;
}
header('Last-Modified: ' . gmdate("D, d M Y H:i:s \G\M\T", $lastModified));
// дальнейшая загрузка страницы
Получаем время последнего изменения страницы, проверяем наличие If-Modified-Since
, если есть - отдаем 304 Not Modified
и останавливаем работу скрипта, иначе генерируем заголовок Last-Modified
и отдаем страницу.