Wissensdatenbank

1 000 FAQs, 500 Anleitungen und erläuternde Videos. Hier gibt es nur Lösungen!

Verwenden von Headern zur Optimierung der Ressourcen-Cache

Dieser Leitfaden erklärt, wie Sie die Zwischenspeicherung von Webressourcen mithilfe von HTTP-Headern optimieren können.

 

Einleitung

  • Eine gute Cache-Strategie kann die Leistung Ihrer Website erheblich verbessern, indem sie verhindert, dass unveränderte Dateien unnötig erneut übertragen werden.
  • Die Web-Zwischenspeicherung basiert auf zwei komplementären Mechanismen:
    1. Die Cache-Gültigkeitsdauer (über den Header Expires) gibt an, wie lange eine Ressource ohne Kontakt zum Server wiederverwendet werden kann.
    2. Die bedingte Validierung (über die Header Last-Modified/If-Modified-Since) ermöglicht die Überprüfung, ob sich eine Ressource geändert hat, bevor sie erneut heruntergeladen wird.

 

Konfiguration der Cache-Dauer mit Expires

Der Header Expires ermöglicht es, eine Dauer festzulegen, während der der Browser Ressourcen direkt aus seinem lokalen Cache wiederverwenden kann. So konfigurieren Sie dies in Ihrer Datei .htaccess:

  1. Erstellen oder öffnen Sie die Datei .htaccess im Stammverzeichnis Ihrer Website (in der Regel in /web oder /sites/domain.xyz).
  2. Fügen Sie die Konfiguration des Moduls expires hinzu:

    <IfModule mod_expires.c>
  3. Legen Sie die geeigneten Cache-Dauern für jeden Ressourcentyp fest:

    ExpiresActive On
    ExpiresByType text/html "access plus 1 week"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"

    Diese Richtlinien bedeuten, dass:

    • HTML-Seiten eine Woche lang im Cache gespeichert werden.
    • JPEG-Bilder, CSS-Dateien und JavaScript-Dateien einen Monat lang gespeichert werden.

    Passen Sie diese Dauern an die Häufigkeit der Aktualisierung Ihrer Ressourcen an.

  4. Schließen Sie den Konfigurationsabschnitt:

    </IfModule>

 

Bedingte Validierung mit Last-Modified

Selbst wenn eine Ressource im Cache abgelaufen ist, muss sie nicht immer vollständig erneut heruntergeladen werden. Der Mechanismus der bedingten Validierung ermöglicht es dem Browser, zu überprüfen, ob seine zwischengespeicherte Version noch aktuell ist. Dieser Prozess funktioniert wie folgt:

  1. Der Server sendet automatisch einen Header Last-Modified mit jeder Ressource, der deren Änderungsdatum angibt.
    • Apache verwaltet dies nativ für statische Dateien - keine zusätzliche Konfiguration erforderlich.
  2. Wenn der Browser die Ressource erneut anfordert, sendet er einen Header If-Modified-Since, der das Datum enthält, das er im Cache hat:

    GET /resource HTTP/1.1
    Host: www.example.com
    If-Modified-Since: Wed, 21 Oct 2015 07:28:00 GMT
  3. Der Server vergleicht dieses Datum mit dem tatsächlichen Änderungsdatum der Datei:
    • Wenn die Datei nicht geändert wurde, gibt er einfach einen Code 304 Not Modified zurück und spart so Bandbreite.
    • Wenn die Datei geändert wurde, gibt er die neue Version mit einem Code 200 OK zurück.

War diese FAQ nützlich?