Heim  >  Artikel  >  Backend-Entwicklung  >  Die PHP-Einstellung der Cache-Steuerung schlägt fehl

Die PHP-Einstellung der Cache-Steuerung schlägt fehl

WBOY
WBOYOriginal
2016-12-01 00:56:271704Durchsuche

Dies sind die Anforderungsinformationen. Sie können sehen, dass die Cache-Steuerung erfolgreich eingerichtet wurde.
Die PHP-Einstellung der Cache-Steuerung schlägt fehl

Bei einer Anfrage müssen Sie es jedoch noch einmal vom Server anfordern.

Der Status hier sollte 200 sein, aber die Größe sollte aus dem Cache stammen.

Die PHP-Einstellung der Cache-Steuerung schlägt fehl

Antwortinhalt:

Dies sind die Anforderungsinformationen. Sie können sehen, dass die Cache-Steuerung erfolgreich eingerichtet wurde.
Die PHP-Einstellung der Cache-Steuerung schlägt fehl

Bei einer Anfrage müssen Sie es jedoch noch einmal vom Server anfordern.

Der Status hier sollte 200 sein, aber die Größe sollte aus dem Cache stammen.

Die PHP-Einstellung der Cache-Steuerung schlägt fehl

Siehe das Beispiel unten

<code><?php 
$cache_time = 3600; 
$modified_time = @$_SERVER['HTTP_IF_MODIFIED_SINCE']; 
if( strtotime($modified_time)+$cache_time > time() ){ 
    header("HTTP/1.1 304"); 
    exit; 
} 
header("Last-Modified: ".gmdate("D, d M Y H:i:s", time() )." GMT");  
echo time(); 
?>
</code>

Öffnen Sie es mit einem Browser. Wir können sehen, dass beim ersten Öffnen der Statuscode 200 zurückgegeben wird und die Druckzeit die letzte ist. Wenn wir es dann zum zweiten Mal öffnen, können wir sehen, dass der Statuscode 304 ist und die Uhrzeit dieselbe ist wie zuvor, was darauf hinweist, dass wir den Cache verwenden. Wir löschen die Datei last_modified.php und öffnen die Seite dann zum dritten Mal. Der Browser gibt einen 404-Fehler zurück. Es ist ersichtlich, dass Last-Modified immer noch eine HTTP-Anfrage an den Server initiieren muss Die Seite wird geöffnet. Der Browser ermittelt anhand des $_SERVER['HTTP_IF_MODIFIED_SINCE'], ob der Browserinhalt abgelaufen ist. Wenn er nicht abgelaufen ist, gibt er den Status 304 zurück und der Browserinhalt wird aus dem Cache gelesen.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn