HTTP-Cache

Cache

Der HTTP Cache ist ein clientseitiger Cache, der unnötige Datenübertragungen verhindert und sich sehr positiv auf die Performance auswirkt.

  1. HTTP Cache Control
  2. Anwenden

HTTP Cache Control

Über ControllerAdapter::assignHttpCacheControl() kannst du auf eine einfache Weise die HTTP-Caching-Header (z.B. "Cache-Control", "Pragma" usw.) modifizieren. Über ein \DateInterval definierst du die Dauer, wie lange der Response im Browser zwischengespeichert werden soll.

class ExampleController extends ControllerAdapter {   
    public function doFoo() {
        $this->assignHttpCacheControl(new \DateInterval('PT30M'));

        $this->forward('view\bar.html');
    }
}

Möchtest du Direktiven für den Http-Header "Cache-Control" selbst bestimmen, kannst du dies über den zweiten Parameter tun:

        $this->assignHttpCacheControl(new \DateInterval('PT30M'),
                array(HttpCacheControl::DIRECTIVE_PUBLIC,
                        HttpCacheControl::DIRECTIVE_PROXY_REVALIDATE)));

Anwenden

Da es sich beim HTTP Cache um einen clientseitigen Cache handelt, gibt es keine Möglichkeit den Cache  aus der Applikation heraus zu löschen, wie das zum Beispiel beim Response Cache über den Response Cache Store möglich ist. Das sollte dich aber nicht davon abhalten den HTTP Cache für möglichst alle deine Seiten zu verwenden. Auch sehr kurze Cache-Zeiten können die Serveranfragen stark reduzieren und die User Experience verbessern.

« Response Cache Fehlerfall »

Kommentare

Du musst eingeloggt sein, damit du Beiträge erstellen kannst.

Fragen