Magento 2 Experten — Hyvä Theme, Tailwind CSS & SEO aus einer Hand ›

HTTP-Caching mit Cache-Headern

HTTP-Caching mit Cache-Headern

~13 Min. Lesezeit Zuletzt aktualisiert am 8. August 2026

API Platform unterstützt HTTP-Caching NACH Standard-Webkonventionen – RELEVANT für GET-lastige Ressourcen wie Tag (Kapitel 12), die sich SELTEN ändern.

Cache-Header pro Resource konfigurieren

#[ApiResource(
    cacheHeaders: [
        'max_age' => 3600,
        'shared_max_age' => 3600,
        'vary' => ['Authorization'],
    ],
    // ...
)]

max_age gilt für PRIVATE Caches (Browser), shared_max_age für ÖFFENTLICHE Caches (Reverse-Proxy/CDN) – GENAU die zwei Direktiven aus dem STANDARD-HTTP-Cache-Control-Header.

Die Header prüfen

curl -k -i https://localhost/api/tags | grep -i cache
cache-control: max-age=3600, public, s-maxage=3600
vary: Authorization

Achtung: vary: Authorization ist HIER WICHTIG: OHNE diesen Header könnte ein gemeinsam genutzter Cache die Antwort für Nutzer A AN Nutzer B ausliefern – besonders KRITISCH bei Ressourcen mit nutzerabhängigem Inhalt (Kapitel 55).

Cache-Invalidierung

API Platform integriert sich OPTIONAL mit Varnish oder Symfony HttpCache und sendet AUTOMATISCH Invalidierungs-Anfragen (via PURGE/BAN-Requests), sobald sich eine Resource ÄNDERT – für UNSER lokales Setup OHNE eigenen Reverse-Proxy BLEIBT das ein KONZEPTIONELLER Überblick, keine praktische Konfiguration.

Wann sich Caching lohnt

  • Ressourcen mit SELTENEN Änderungen und HÄUFIGEN Lesezugriffen (z. B. Tag).
  • ÖFFENTLICH zugängliche Daten, bei denen ein SHARED Cache (CDN) den Ursprungsserver spürbar ENTLASTET.
  • NICHT sinnvoll für stark PERSONALISIERTE oder HÄUFIG wechselnde Daten wie die eigene /api/projects-Liste (Kapitel 55).

Tipp: OHNE cacheHeaders-Konfiguration sendet API Platform STANDARDMÄSSIG GAR KEINE aktiven Caching-Header – Caching ist eine BEWUSSTE, OPT-IN-Entscheidung pro Resource, KEIN automatisches Verhalten.