Verwendung von HTTP-Cache-Headern zur Optimierung der PHP-Website-Leistung
Trotz der Verfügbarkeit fortschrittlicher Cache-Systeme und Frameworks ist es manchmal notwendig, grundlegendes HTTP zu implementieren Zwischenspeichern von Headern zur Verbesserung der Website-Leistung. Insbesondere für PHP 5.1.0-Websites, denen bestimmte Cache-Funktionen fehlen, spielen Header eine entscheidende Rolle.
Effektive Cache-Header für PHP-Websites
Um effektives Caching zu ermöglichen, sollten Sie Folgendes in Betracht ziehen die folgenden Überschriften:
Bedingte Anforderungen implementieren
Zusätzlich zum Festlegen von Cache-Headern ist es wichtig, bedingte Anfragen wie „If-Modified-Since“ und „If-None-Match“ zu verarbeiten. Mit diesen Anfragen können Browser überprüfen, ob sich das Dokument seit einem bestimmten Datum geändert hat oder ob sich der ETag seit ihrem letzten Besuch geändert hat.
Wenn sich der Inhalt nicht geändert hat, können Sie den Status „304 Nicht geändert“ zurückgeben Code, der angibt, dass der Browser die zwischengespeicherte Version weiterhin verwenden kann. Dieser effiziente Ansatz minimiert unnötige Downloads und beschleunigt das Laden der Website.
Das folgende PHP-Codebeispiel zeigt, wie bedingte Anfragen verarbeitet werden:
$timestamp = /* PHP script to generate a unique timestamp */;
$tsstring = gmdate('D, d M Y H:i:s ', $timestamp) . 'GMT';
$etag = $language . $timestamp;
$if_modified_since = isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ? $_SERVER['HTTP_IF_MODIFIED_SINCE'] : false;
$if_none_match = isset($_SERVER['HTTP_IF_NONE_MATCH']) ? $_SERVER['HTTP_IF_NONE_MATCH'] : false;
if ((($if_none_match && $if_none_match == $etag) || (!$if_none_match)) &&
($if_modified_since && $if_modified_since == $tsstring))
{
header('HTTP/1.1 304 Not Modified');
exit();
}
else
{
header("Last-Modified: $tsstring");
header("ETag: \"{$etag}\"");
}
Durch die Implementierung von Cache-Headern und die effektive Verarbeitung bedingter Anfragen können Sie die Leistung und Benutzererfahrung Ihrer PHP-Website erheblich verbessern.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3