Cache-Control auf Strato konfigurieren

Cache-Control-Header auf Ihrem Strato Webhosting — Browser-Caching für statische Assets aktivieren und sensible Seiten mit no-store schützen.

Strato · Schritt für Schritt

Cache-Control auf Strato

Cache-Control steuert, wie Browser und Proxys Ressourcen zwischenspeichern. Korrekt konfiguriert verbessert er die Ladezeit und verhindert, dass sensible Daten im Cache gespeichert werden. Cache-Control ist mit 5 von 166 Punkten im Wolf-Agents Web Security Check vertreten.

Auf Strato Shared Hosting konfigurieren Sie Cache-Control per .htaccess mit mod_headers. Die sicherheitsrelevante Empfehlung: no-store für sensible Seiten (Login, Dashboard, Checkout) und langes Caching für statische Assets (CSS, JS, Bilder). Der Wolf-Agents Web Security Check prüft, ob sensible Seiten korrekt mit no-store geschützt sind.

Wichtig: Strato setzt auf Shared Hosting eigene Cache-Header für bestimmte Dateitypen. Ihre .htaccess-Konfiguration überschreibt diese — prüfen Sie nach der Änderung, dass die erwarteten Header gesetzt werden.

Cache-Control auf Strato implementieren

Laden Sie die .htaccess-Datei per FTP hoch. Konfigurieren Sie differenzierte Cache-Strategien für verschiedene Dateitypen. Für dynamische PHP-Seiten nutzen Sie den header()-Aufruf.

.htaccess — Cache-Control
.htaccess Empfohlen
# .htaccess — Cache-Control fuer statische Assets
<IfModule mod_headers.c>
    # CSS und JavaScript: 1 Jahr mit Revalidation
    <FilesMatch "\.(css|js)$">
        Header set Cache-Control "public, max-age=31536000, immutable"
    </FilesMatch>

    # Bilder: 1 Jahr
    <FilesMatch "\.(jpg|jpeg|png|gif|webp|svg|ico)$">
        Header set Cache-Control "public, max-age=31536000"
    </FilesMatch>

    # Fonts: 1 Jahr
    <FilesMatch "\.(woff|woff2|ttf|eot)$">
        Header set Cache-Control "public, max-age=31536000, immutable"
    </FilesMatch>

    # HTML: Kein Cache (immer frisch vom Server)
    <FilesMatch "\.(html|htm|php)$">
        Header set Cache-Control "no-cache, no-store, must-revalidate"
    </FilesMatch>
</IfModule>
PHP — Sensible Seiten
login.php no-store
// PHP — Cache-Control fuer sensible Seiten (z.B. Login, Dashboard)
<?php
header("Cache-Control: no-store, no-cache, must-revalidate, private");
header("Pragma: no-cache");
header("Expires: 0");
?>
PHP — API-Antworten
api/data.php Kurzlebig
// PHP — Cache-Control fuer API-Antworten mit kurzer Lebensdauer
<?php
// Oeffentliche API-Daten: 5 Minuten Cache, dann revalidieren
header("Cache-Control: public, max-age=300, stale-while-revalidate=60");
?>
immutable-Direktive beachten

Das immutable-Flag signalisiert dem Browser, dass sich die Ressource nicht ändert. Verwenden Sie es nur für versionierte Assets (z.B. style.v2.css), nicht für Dateien ohne Versions-Suffix.

Verifizierung

Prüfen Sie die Cache-Control-Header per curl für verschiedene Dateitypen. Achten Sie darauf, dass HTML-Seiten no-cache und statische Assets max-age erhalten.

Terminal Verifizierung
# Cache-Control-Header pruefen
curl -sI https://ihre-domain.de/style.css | grep -i cache-control

# Erwartete Ausgabe (CSS):
# cache-control: public, max-age=31536000, immutable

# HTML-Seite pruefen:
curl -sI https://ihre-domain.de | grep -i cache-control

# Erwartete Ausgabe (HTML):
# cache-control: no-cache, no-store, must-revalidate
Der Wolf-Agents Web Security Check prüft Cache-Control-Header automatisch und bewertet sie mit bis zu 5 Punkten.

Häufige Fehler bei Cache-Control auf Strato

Strato überschreibt Cache-Header

Strato Shared Hosting kann eigene Cache-Header setzen, die Ihre .htaccess-Konfiguration überschreiben. Verwenden Sie Header set statt Header append und prüfen Sie mit curl -sI, ob die erwarteten Header gesetzt werden.

Sensible Seiten ohne no-store

Login-Seiten, Dashboards und Checkout-Seiten dürfen nicht im Browser-Cache gespeichert werden. Setzen Sie no-store für alle Seiten mit personenbezogenen Daten — per PHP header() oder FilesMatch in der .htaccess.

immutable ohne Versionierung

Das immutable-Flag verhindert jede Revalidation — auch nach Inhaltsänderungen. Verwenden Sie es nur mit Dateinamen-Versionierung (z.B. app.v3.js), damit Änderungen sofort wirksam werden.

mod_headers bei Strato nicht geladen

Wenn die Header nicht gesetzt werden, prüfen Sie ob mod_headers auf Ihrem Strato-Tarif verfügbar ist. Der <IfModule>-Block verhindert Fehler, wenn das Modul fehlt — aber die Header werden dann auch nicht gesetzt. Setzen Sie die Header alternativ per PHP.

Compliance-Relevanz

Korrekte Cache-Konfiguration verhindert, dass sensible Daten im Browser-Cache verbleiben — relevant für Datenschutz und Finanzdaten. Auch auf Strato Shared Hosting liegt die Verantwortung beim Website-Betreiber.

PCI DSS 4.0Anforderung 6.5.4 — Schutz sensibler Daten im Browser-Cache
DSGVOArt. 32 — Sicherheit der Verarbeitung, Schutz personenbezogener Daten vor unbefugtem Zugriff
BSIAPP.3.1 — Webserver-Absicherung, sichere Cache-Konfiguration

Wie steht Ihre Domain bei Cache-Control?

Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.