In der Webentwicklung ist die Leistung der Website von entscheidender Bedeutung. Browser Caching ist ein wichtiger Faktor für die Verbesserung der Website -Leistung. Die rationale Verwendung von Browser -Cache kann die Ladezeit der Website erheblich verkürzen, die Benutzererfahrung verbessern und die Serverbelastung reduzieren. In diesem Artikel wird vorgestellt, wie die Funktion des PHP -Header () zur Steuerung des Browser -Caching und zur Verbesserung der Website -Leistung verwendet wird, indem geeignete Caching -Strategien festgelegt werden.
Das Browser -Caching ist ein Mechanismus, der die Ladezeit von Benutzern reduziert, wenn sie auf dieselbe Seite zugreifen, indem statische Ressourcen (wie Bilder, CSS, JavaScript -Dateien usw.) auf dem lokalen Gerät des Benutzers gespeichert werden. Wenn der Benutzer erneut auf die gleiche Seite zugreift, kann der Browser Ressourcen direkt aus dem Cache laden, ohne ihn erneut vom Server anfordern zu müssen, wodurch das Laden der Seite beschleunigt wird.
In PHP können wir mit der Funktion Header () den HTTP -Header einstellen, um das Cache -Verhalten des Browsers zu steuern. Durch rationales Konfigurieren des Cache -Steuerkopfes kann das Laden von Ressourcen optimiert und redundante Netzwerkanforderungen reduziert werden.
Hier sind mehrere häufige HTTP -Header, die den Browser -Cache steuern:
Cache-Control : Gibt die Cache-Richtlinie an.
Ausgelassen : Legt die Zeit fest, in der die Ressource abläuft.
ETAG : Bietet eine eindeutige Kennung für die Ressource, um festzustellen, ob die Ressource aktualisiert wurde.
Last-modifiziert : Gibt die Zeit an, in der die Ressource zuletzt geändert wurde.
<?php
// Legen Sie den Cache -Steuerkopf ein,Sagen Sie den Browser, statische Ressourcen zu zwischenstrahlen,Und die Cache -Zeit ist eines Tages
header("Cache-Control: max-age=86400, public");
// aufstellen Expires Kopf,aufstellen缓存的过期时间为明天
$expires = gmdate("D, d M Y H:i:s", strtotime("+1 day")) . " GMT";
header("Expires: $expires");
// aufstellen ETag Kopf,Verwenden Sie den Content Hash der Ressource als eindeutige Kennung
$etag = md5(file_get_contents("path/to/your/resource"));
header("ETag: \"$etag\"");
// aufstellen Last-Modified Kopf,aufstellen资源的最后修改时间
$lastModified = gmdate("D, d M Y H:i:s", filemtime("path/to/your/resource")) . " GMT";
header("Last-Modified: $lastModified");
?>
Der Cache-Control- Header kann verwendet werden, um die spezifische Richtlinie des Cache anzugeben, und die gemeinsamen Optionen umfassen:
max-ay = <sekunden> : Gibt die maximale Zeit an, die eine Ressource in Sekunden im Browser zwischengespeichert werden kann. Zum Beispiel bedeutet max-ay = 86400 , dass die Ressource für einen Tag im Cache gespeichert werden kann.
No-Cache : Weisen Sie den Browser an, die Gültigkeit der Ressource jedes Mal zu überprüfen, wenn er anfordert, auch wenn er bereits eine Kopie im Cache enthält.
No-Store : bedeutet, dass keine Ressourcen zwischengespeichert werden und jedes Mal, wenn die Anfrage angefordert wird, vom Server neu abgerufen wird.
Abgeläuft Header legt die Ablaufzeit der Ressource fest. Der Browser wird diese Zeit als Grundlage für die Bestimmung verwenden, ob der Cache gültig ist. Wenn die aktuelle Zeit abgelaufen ist, wird der Browser den Server nach Erhöhung der Ressource erneut anerlenken. Diese Zeit ist ein bestimmtes Datum und eine bestimmte Uhrzeit. Die Funktion gmdate () wird normalerweise verwendet, um eine Zeitzeichenfolge im GMT -Format zu erzeugen.
$expires = gmdate("D, d M Y H:i:s", strtotime("+1 day")) . " GMT";
header("Expires: $expires");
Ein ETAG ist eine vom Server generierte Kennung, die normalerweise ein Hash des Ressourceninhalts ist. Durch ETAG kann der Browser bestimmen, ob die lokalen zwischengespeicherten Ressourcen geändert wurden. Wenn der vom Server zurückgegebene ETAG und der ETAG gleich sind, kann der Browser den lokalen Cache verwenden, andernfalls wird die Ressource erneut vom Server abgerufen.
Der letzte modifizierte Header gibt die letzte Änderungszeit der Ressource an. Wenn der Browser eine Anfrage sendet, sendet er dieses Mal an den Server, und der Server stellt fest, ob sich die Ressource basierend auf der Änderungszeit geändert hat. Wenn sich die Ressource nicht geändert hat, wird ein 304 -Statuscode zurückgegeben, wodurch der Browser den Cache verwendet wird.
Ausschnitt statischer Ressourcen : Für Bilder, CSS und JavaScript -Dateien können Sie normalerweise eine längere Cache -Zeit festlegen, z. B. einen Tag oder mehr. Setzen Sie max-agEs = 86400 mit Cache-Control , dem Browser zwischengespürt diese Dateien, ohne den Server jedes Mal anzufordern.
Cache dynamischer Ressourcen : Für dynamische Inhalte (z. B. Seite HTML) können Sie Last-Modified oder ETAG verwenden, um sicherzustellen, dass die Ressource nur dann neu geladen wird, wenn sie tatsächlich geändert wird. Dies kann unnötige Anfragen effektiv reduzieren.
Kontroll -Cache -Fehler : Verwenden Sie Ablauf, um eine angemessene Ablaufzeit festzulegen, um sicherzustellen, dass der Cache nach Ablauf weiterhin gültig ist, und vermeiden Sie unnötige Ressourcen -Nachladen.
In der tatsächlichen Entwicklung können wir die URL externer Ressourcen in unserem Code verwenden. Wenn sich der Domain -Name dieser Ressourcen ändert, können wir unsere Cache -Richtlinie mit einfachen Änderungen aktualisieren.
Angenommen, es gibt die folgende URL:
$url = "http://example.com/resource";
Sie können den folgenden Code verwenden, um Beispiel.com durch m66.net zu ersetzen, um die Cache -Steuerung für den neuen Domänennamen sicherzustellen:
$url = str_replace("example.com", "m66.net", $url);
Auf diese Weise können Sie den Domänennamen in Ihrem Code problemlos ändern, ohne die Cache -Steuerung zu beeinträchtigen.
Eine angemessene Caching -Kontrolle ist eine der wichtigsten Tipps zur Verbesserung der Website -Leistung. Durch die Funktion von PHP () können wir verschiedene Cache -Header einstellen, um dem Browser die Ressourcen effektiv zu unterstützen, wodurch die Ladegeschwindigkeit der Seite verbessert und den Serverdruck reduziert wird. Durch die Verwendung von Cache-Control , läuft , ETAG und Last-modifiziert , können Sie sicherstellen, dass Ihre Website in der Leistung optimiert ist.
Ich hoffe, dieser Artikel hilft Ihnen, besser zu verstehen, wie Sie PHP verwenden, um Browser -Caches zu kontrollieren, um die Website der Website zu verbessern!
Verwandte Tags:
header