Heim > Backend-Entwicklung > PHP-Problem > So deaktivieren Sie das Browser-Caching in PHP

So deaktivieren Sie das Browser-Caching in PHP

王林
Freigeben: 2023-03-06 22:42:02
Original
2853 Leute haben es durchsucht

So deaktivieren Sie das Browser-Caching in PHP: Sie können das Caching statischer Seiten über Meta-Tags wie [] deaktivieren. Expires wird zum Festlegen verwendet Ablaufzeit der Webseite.

So deaktivieren Sie das Browser-Caching in PHP

Die Methode ist wie folgt:

(Video-Tutorial empfohlen: php-Video-Tutorial)

1. Für statische Seiten (festgelegt durch Meta-Tags)

<!--expires用于设定网页的过期时间,一旦过期就必须从服务器上重新加载.时间必须使用GMT格式-->
<meta http-equiv="expires" content="0" />
Nach dem Login kopieren

oder eingestellt durch Pragma No-Cache, Pragma Erscheint im http-equiv-Attribut und verwendet den No-Cache-Wert des Content-Attributs, um anzugeben, ob die Webseite zwischengespeichert werden soll (um die Geschwindigkeit zu verbessern, werden einige Browser die vom Betrachter durchsuchten Seiten zwischenspeichern. Durch die folgende Definition: Browser speichern die Seite im Allgemeinen nicht im Cache und der Browser kann nicht offline durchsucht werden.

<meta http-equiv="pragma" content="no-cache" />
Nach dem Login kopieren

Cache-Kontrolle: Cache-Kontrolle, die den Caching-Mechanismus angibt, gefolgt von Anfragen und Antworten. Durch das Festlegen von Cache-Control in einer Anforderungsnachricht oder Antwortnachricht wird der Caching-Prozess während der Verarbeitung einer anderen Nachricht nicht geändert.

Die Cache-Anweisungen in der Anfrage umfassen „No-Cache“, „No-Store“, „Max-Age“, „Max-Stale“, „Min-Fresh“, „Only-If-Cached“ usw. Die Anweisungen in der Antwortnachricht umfassen „Öffentlich“, „Privat“, „No-Cache“ Cache, kein Speichern, keine Transformation, erneute Validierung erforderlich, erneute Proxy-Überprüfung, maximales Alter.

Einige der Anweisungen in jeder Nachricht haben die folgende Bedeutung:

Öffentlich: Gibt an, dass die Antwort in einem beliebigen Cache-Bereich zwischengespeichert werden kann.

Privat: Zeigt an, dass die Antwortnachricht für einen einzelnen Benutzer ganz oder teilweise nicht vom gemeinsam genutzten Cache verarbeitet werden kann. Dadurch kann der Server nur eine Teilantwort eines Benutzers beschreiben, die für die Anfragen anderer Benutzer nicht gültig ist.

no-cache: Zeigt an, dass Anforderungs- oder Antwortnachrichten nicht zwischengespeichert werden können.

no-store: Wird verwendet, um zu verhindern, dass wichtige Informationen unbeabsichtigt freigegeben werden. Das Senden in der Anforderungsnachricht führt dazu, dass sowohl die Anforderungs- als auch die Antwortnachrichten Caching verwenden.

max-age: Gibt an, dass der Client Antworten mit einer Lebensdauer erhalten kann, die nicht länger als die angegebene Zeit (in Sekunden) ist.

min-fresh: Gibt an, dass der Client Antworten mit einer Antwortzeit erhalten kann, die kürzer ist als die aktuelle Zeit plus die angegebene Zeit.

max-stale: Zeigt an, dass der Client über den Timeout-Zeitraum hinaus Antwortnachrichten empfangen kann. Wenn Sie einen Wert für Max-Stale-Nachrichten angeben, kann der Client Antwortnachrichten empfangen, die den angegebenen Wert des Timeout-Zeitraums überschreiten.

Hinweis: Der Cache-Control-Header wurde in HTTP1.1 hinzugefügt, wodurch im Vergleich zu anderen Methoden eine detailliertere Cache-Steuerung erreicht werden kann.

<meta http-equiv="Cache-Control" content="no-cache,no-store, must-revalidate">
header(&#39;Cache-Control: max-age=3600*24&#39;);//缓存1天,表示最大生存期是1天,超过1天浏览器必须去服务器重新读取,这个时间是从用户第一次读取页面时开始计时的
Nach dem Login kopieren

2. Für PHP-Seiten:

Für dynamische Seiten muss der zwischengespeicherte Code vor jeder HTML-Tag-Ausgabe platziert werden, sonst tritt ein Fehler auf.

<?php 
header(&#39;Cache-Control:no-cache,must-revalidate&#39;);   
header(&#39;Pragma:no-cache&#39;);   
header("Expires:0"); 
?>
Nach dem Login kopieren

Last-Modified: Der letzte Änderungszeitpunkt des Dokuments. Seine Verwendung ist:

1: Wenn es sich um eine statische Datei handelt, sendet der Client die Zeit in seinem Cache und Apache vergleicht sie. Wenn er feststellt, dass keine Änderung vorliegt, gibt er direkt einen Header zurück ist 304 und die Anzahl der Bytes ist sehr gering.

2: Wenn es sich um eine dynamische PHP-Datei handelt, sendet der Client die Vergleichszeit und PHP bestimmt, ob die Änderungszeit gleich ist. Es werden nur 1024 Bytes zurückgegeben. Es ist unbekannt. Wenn Ihre PHP-Datei sehr groß ist und nur 1024 zurückgibt, wird die zwischengespeicherte Datei automatisch basierend auf der vom Server gesendeten Änderungszeit angezeigt.

Hinweis: Wenn der Last-Modified-Header nicht gesetzt ist, funktioniert auch nur das Setzen von Cache-Control und Expires, aber jede Anfrage muss die tatsächliche Anzahl der Dateibytes zurückgeben, nicht 1024

php legt den Last-Modified-Header fest Der Beispielcode lautet wie folgt:

header(&#39;Last-Modified: &#39;.gmdate(&#39;D, d M Y 01:01:01&#39;,$time).&#39; GMT&#39;);//使用的是格林尼治时间,$time是指文件添加时候的时间戳
Nach dem Login kopieren

Verwandte Empfehlungen: php-Training

Das obige ist der detaillierte Inhalt vonSo deaktivieren Sie das Browser-Caching in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage