Das Generieren von Seiten aus TYPO3 ist ein aufwendiger Vorgang. Alle zugeordneten TypoScript-Anweisungen werden in ein multidimensionales PHP-Array gerendert. Aus diesem wird ein komplexer Objektbaum erstellt, dessen Objekte anschließend die auszugebende HTML-Seite rendern. Aber auch das Generieren von Bildern erfordert Rechenzeit.
Aus diesem Grund werden möglichst viele Inhalte von TYPO3 zwischengespeichert, um sie schneller abrufen zu können.
Seit TYPO3 4.3 wird neben dem alten Caching-System ein neues Caching-Framework mitgeliefert, welches individuell konfiguriert werden kann. Es ist per default nicht aktiviert, dies kann vom Benutzer aber im Install Tool geändert werden. In TYPO3 4.6 wurde das alte System entfernt und das Framework als Standard festgelegt. Die hier gesammelten Informationen sind entweder für beide Caching-Formen gültig oder beziehen sich auf das neue Framework.
Zwischengespeichert wird alles, was nicht zwingend jedes Mal neu berechnet werden muss:
Der cHash (kurz für cache Hash) besteht aus einer Prüfsumme der in der URL enthaltenen GET-Parameter. Er wird von TYPO3 generiert und dient dazu, die in der URL befindlichen Parameter zu überprüfen. Nur wenn der cHash stimmt, wird die Kombination der GET-Parameter im Cache gespeichert, um einen weiteren Seitenaufruf mit denselben Parametern schneller ausgeben zu können. So wird u.a. verhindert, dass die Datenbank durch einen Angreifer zugemüllt wird, der Seiten mit massenweise erfundenen Parametern aufruft. Zur Errechnung des cHash wird der Encryption Key verwendet, der im Install Tool zu finden ist und dort auch neu generiert werden kann.
Durch Cache-Control Header kann der Browser angewiesen werden, bereits besuchte Seiten aus seinem Zwischenspeicher zu laden, wenn diese noch aktuell sind.
Die nötigen Angaben werden von TYPO3 erst ausgegeben, wenn im TypoScript-Template die Angabe config.sendCacheHeaders = 1
notiert ist. Außerdem müssen die folgenden Bedingungen erfüllt sein: