Wie kann die Website-Leistung mit HTTP-Cache-Headern in PHP verbessert werden?

Patricia Arquette
Freigeben: 2024-11-04 11:13:02
Original
473 Leute haben es durchsucht

How to Improve Website Performance with HTTP Cache Headers in PHP?

So implementieren Sie HTTP-Cache-Header zur Leistungsoptimierung

In Szenarien, in denen dynamische Webseiten hauptsächlich aus statischen Inhalten bestehen, kann die Anwendung von HTTP-Cache-Headern mit PHP die Website-Leistung erheblich verbessern . Dieser Leitfaden befasst sich mit den wesentlichen Headern für effektives Caching.

Cache-Kontrollanweisungen

cache-control: private, max-age=180 – Legt einen privaten Cache fest für 180 Sekunden. Auf private Caches kann nur von einzelnen Benutzern zugegriffen werden, wodurch die gemeinsame Nutzung durch mehrere Clients verhindert wird.

cache-control: public, max-age=180 – Legt einen öffentlichen Cache für 180 Sekunden fest. Öffentliche Caches stehen allen Clients zur Verfügung und ermöglichen den gemeinsamen Zugriff.

HTTP-Datum und ETag-Antwortheader

Letzte Änderung: GMT-Datum und -Uhrzeit – Stellt Datum und Uhrzeit bereit wann der Inhalt zuletzt geändert wurde, sodass Browser nach Updates suchen können.

ETag: (eindeutige Kennung) – Erzeugt einen Hash oder eine Prüfsumme, die den eindeutigen Status des Inhalts darstellt. Browser verwenden ETag-Header, um zu überprüfen, ob sich Inhalte seit der letzten Anfrage geändert haben.

Cache-Überprüfungsheader

If-Modified-Since: GMT-Datum und -Uhrzeit – Der Client sendet das letzte bekannte Änderungsdatum der Ressource. Wenn seit diesem Datum keine Änderungen stattgefunden haben, antwortet der Server mit dem Status „304 Nicht geändert“ und vermeidet so unnötigen Inhaltsabruf.

If-None-Match: (eindeutige Kennung) – Der Client Sendet den letzten bekannten ETag-Wert für die Ressource. Wenn das ETag mit dem aktuellen Wert des Servers übereinstimmt, wird der Status „304 Nicht geändert“ zurückgegeben.

Implementierung mit PHP

Um diese Header in PHP zu implementieren, beachten Sie den folgenden Beispielcode:

<code class="php">$tsstring = gmdate('D, d M Y H:i:s ', $timestamp) . 'GMT';
$etag = md5($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}\"");
}</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann die Website-Leistung mit HTTP-Cache-Headern in PHP verbessert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!