Как приятно, когда браузер проверяет свежая ли у нас копия страницы в кеше или нет. И, если она свежая, то загружает её из кеша.
Это значительно ускоряет загрузку страниц и уменьшет нагрузку на сервер и трафик.
Код для «статичных» PHP-файлов (которые не работают с базами данных), модернизированный для работы с модульной архитектурой (при которой header и footer подгружаются из отдельных скриптов):
$filescrpt=$_SERVER[‘SCRIPT_FILENAME’];
$filehdr1=$_SERVER[‘DOCUMENT_ROOT’].»/header1.php»;
$filehdr2=$_SERVER[‘DOCUMENT_ROOT’].»/header2.php»;
$fileftr=$_SERVER[‘DOCUMENT_ROOT’].»/footer.php»;
$last_modified_time = max(filemtime($filescrpt),filemtime($filehdr1),filemtime($filehdr2),filemtime($fileftr));
#$etag = md5_file($file);
$etag = $last_modified_time;
header(«Last-Modified: «.gmdate(«D, d M Y H:i:s», $last_modified_time).» GMT»);
header(«Etag: $etag»);
if (@strtotime($_SERVER[‘HTTP_IF_MODIFIED_SINCE’]) >= $last_modified_time ||
trim($_SERVER[‘HTTP_IF_NONE_MATCH’]) == $etag) {
header(«HTTP/1.1 304 Not Modified»);
exit;
}
Об авторе