Heim  >  Artikel  >  Backend-Entwicklung  >  Wie können HTTP-Cache-Header die Leistung einer PHP-Website optimieren?

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

Susan Sarandon
Susan SarandonOriginal
2024-11-04 05:37:29609Durchsuche

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 Kopfzeilen:

  • Last-Modified: Legt das letzte Änderungsdatum 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 fest für das Dokument und weist Browser an, es nicht über diesen Zeitraum hinaus zwischenzuspeichern.
  • Cache-Kontrolle: Steuert, wie und für 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 mit bedingten Anfragen umgegangen wird:

<code class="php">$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 &amp;&amp; $if_none_match == $etag) || (!$if_none_match)) &amp;&amp;
    ($if_modified_since &amp;&amp; $if_modified_since == $tsstring))
{
    header('HTTP/1.1 304 Not Modified');
    exit();
}
else
{
    header("Last-Modified: $tsstring");
    header("ETag: \"{$etag}\"");
}</code>

Durch die Implementierung von Cache-Headern und die effektive Handhabung bedingter Anfragen können Sie kann die Leistung und Benutzererfahrung Ihrer PHP-Website erheblich verbessern.

Das obige ist der detaillierte Inhalt vonWie können HTTP-Cache-Header die Leistung einer PHP-Website optimieren?. 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