Heim  >  Artikel  >  Backend-Entwicklung  >  So konfigurieren Sie den Browser mithilfe von PHP so, dass kein Cache generiert wird

So konfigurieren Sie den Browser mithilfe von PHP so, dass kein Cache generiert wird

PHPz
PHPzOriginal
2023-04-25 17:36:25676Durchsuche

Bei der Entwicklung von Webanwendungen stoßen wir normalerweise auf Probleme mit dem Browser-Cache. Während des Entwicklungs- und Testprozesses werden unsere Änderungen am Code aufgrund des vorhandenen Browser-Cache möglicherweise nicht sofort wirksam, was zu großen Unannehmlichkeiten bei der Entwicklung und beim Testen führt.

Im Folgenden stellen wir vor, wie Sie PHP verwenden, um den Browser so zu konfigurieren, dass kein Cache generiert wird.

  1. Header-Funktion von PHP verwenden

php bietet eine Header-Funktion, die rohe HTTP-Header-Informationen an den Browser senden kann, die Sie verwenden können Hiermit legen Sie den Browser-Cache fest. Indem wir die Antwortheader „Expires“ und „Cache-Control“ in der Header-Funktion festlegen, können wir den Browser anweisen, die Seite nicht zwischenzuspeichern. Beispiel:

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");

Dieser Code setzt Expires im Antwortheader auf ein Ablaufdatum und weist den Browser an, die Seite nicht zwischenzuspeichern. Ebenso bedeutet Cache-Control: no-cache, dass die Seite nicht zwischengespeichert wird.

  1. Setzen Sie den Pragma-Antwortheader.

Eine andere Möglichkeit, den Browser-Cache festzulegen, besteht darin, den Pragma-Antwortheader festzulegen. Der Pragma-Header weist an, dass die Seite nicht zwischengespeichert wird, und ist ein Legacy-Header aus dem HTTP/1.0-Protokoll. Zum Beispiel:

header("Pragma: no-cache");
  1. HTML-Tags setzen

Zusätzlich zum Festlegen von Antwortheadern können wir auch Meta-Tags in HTML-Seiten verwenden Sie können den Browser-Cache festlegen, wenn die Seite geladen wird. Beispiel:

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">

Dieses Meta-Tag weist den Browser an, die Seite nicht zwischenzuspeichern. Der Wert „Inhalt“ ist „No-Cache“, „No-Store“ und „Must-Revalidate“ bedeutet, dass die Seite nicht zwischengespeichert werden soll von Pragma bedeutet, dass die Seite nicht zwischengespeichert wird. Bei zwischengespeicherten Seiten zeigt ein Expires-Wert von 0 an, dass die Seite abgelaufen ist.

  1. Statische Ressourcen hängen zufällige Zeichenfolgen an

Für statische Ressourcen (wie CSS, JS, Bilder usw.) können wir sie hinzufügen Ihre Links fügen zufällige Zeichenfolgen hinzu, damit der Browser jedes Mal neue Inhalte erhält, wenn er diese Ressourcen anfordert. Zum Beispiel:

<link rel="stylesheet" href="style.css?v=<?=rand(1, 10000)?>" />

Die Rand-Funktion generiert hier eine Zufallszahl und hängt sie an den URL-Parameter an, sodass jedes Mal, wenn diese Ressource angefordert wird, eine neue URL generiert wird, wodurch Browser-Caching vermieden wird. Ebenso können wir ähnliche Methoden in JS, Bildern und anderen Ressourcen verwenden.

Zusammenfassung

Die Konfiguration des Browsers so, dass kein Cache generiert wird, ist für die Webentwicklung und das Testen sehr wichtig, da dadurch Probleme wie vorzeitige Codeaktualisierungen durch den Browser-Cache vermieden werden können. PHP bietet die Header-Funktion zum Festlegen von Antwortheadern. Sie können auch Meta-Tags in HTML verwenden, um den Browser-Cache festzulegen. Sie können auch zufällige Zeichenfolgen an statische Ressourcen anhängen, um Zwischenspeicherung zu vermeiden. Ich hoffe, dass dieser Artikel allen beim Erlernen und Verwenden von PHP zum Konfigurieren des Browser-Caches hilfreich sein wird.

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie den Browser mithilfe von PHP so, dass kein Cache generiert wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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