„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie können HTTP-Cache-Header die Leistung einer PHP-Website optimieren?

Wie können HTTP-Cache-Header die Leistung einer PHP-Website optimieren?

Veröffentlicht am 10.11.2024
Durchsuche:622

How can HTTP Cache Headers Optimize PHP Website Performance?

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:

  • Last-Modified: Legt das Datum der letzten Änderung des Dokuments fest. anhand dessen Browser ermitteln, ob sich der Inhalt seit ihrem letzten Besuch geändert hat.
  • ETag: Gibt eine eindeutige Kennung für das Dokument an, sodass Browser überprüfen können, ob sie bereits über die neueste Version verfügen.
  • Läuft ab: Legt eine absolute Ablaufzeit für das Dokument fest und weist Browser an, es nicht darüber hinaus zwischenzuspeichern Zeit.
  • Cache-Control: Steuert, wie und wie lange Browser das Dokument zwischenspeichern sollen. Es kann auf „Öffentlich“ eingestellt werden, sodass jeder das Dokument zwischenspeichern kann, oder auf „Privat“, wodurch das Zwischenspeichern auf einzelne Benutzer beschränkt wird. Möglicherweise möchten Sie die Verwendung von „private_no_expire“ in Betracht ziehen, wenn Sie längere Caching-Längen benötigen, ohne öffentliches Caching zuzulassen.

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.

Neuestes Tutorial Mehr>

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