Kürzlich untersuchte die Verwendung des Last-Modified-Caching-Mechanismus von HTTP, der es dem Browser ermöglicht, die Cache-Datei zu lesen,
$num = 4; //Änderungen der Serverdaten simulieren, um zu bestimmen, ob der Browser die Cache-Datei lesen muss
if($ num ==4) {
if( isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ){
$browserCachedCopyTimestamp = strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']);
if ( ( $browserCachedCopyTimestamp + 3600 ) > time() ) {
header("HTTP/1.1 304");
exit(1);
}
}
}sonst{
header('Last-Modified: '.gmdate('D, d M Y H:i:s',time())." GMT");
header('Expires: '.gmdate('D, d M Y H:i:s', time() + 3600)." GMT");
header("Cache-Control:max-age=3600");
for( $i=1; $i < 10 ; $i++ ){
echo "$i|";
}
}
Ich habe oben getestet, dass zwischengespeicherte Dateien gelesen werden können, aber ich habe gerade online nachgesehen und festgestellt, dass dies der Fall ist
[Last-Modified- und ETags-Anforderungs-HTTP-Header werden zunächst zusammen verwendet. Der Server kann damit später feststellen, ob die Seite geändert wurde, und entscheiden, ob die Datei weiterhin zwischengespeichert werden soll ]
Warum Last -Modified zusammen mit ETags verwendet wird. Verstehe es nicht.
引用别人的一篇回答链接描述