Benutzer-Werkzeuge

Webseiten-Werkzeuge


typo3:about:caching

Caching

Allgemeines

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.

Was wird gecacht?

Zwischengespeichert wird alles, was nicht zwingend jedes Mal neu berechnet werden muss:

  • Statische HTML-Seiten
  • Verschiedene Konfigurationseinstellungen, z.B.: die ext_localconf.php und ext_tables.php der installierten Extensions sowie die TSconfig der einzelnen Seiten.
  • Generierte Bilder: Vorschaubilder im Backend, grafische Menüs, bearbeitete Bilder (z.B. Größenänderung im Inhaltselement)
  • TypoScript-Templates

Wo sind die gecachten Dokumente zu finden?

  • Datenbank: Es gibt verschiedene Tabellen. In cf_cache_pages werden z.B. die statischen HTML-Seiten als Binary Large Object (BLOB) abgespeichert. cf_cache_pagesection enthält als BLOB die Seiteneigenschaften (TSconfig, nav_title, …)
  • typo3conf/: Gesammelte Konfigurationen (ext_localconf.php, ext_tables.php)
  • typo3temp/: Dynamisch erzeugte Grafiken, Sprachdateien, CSS und Javascript

cHash

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.


Caching im Browser

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:

  • Die Seite ist von TYPO3 gecacht
  • Auf der Seite befinden sich keine *_INT oder *_EXT Objekte
  • Der Besucher ist nicht in Frontend oder Backend eingeloggt
typo3/about/caching.txt · Zuletzt geändert: 2015/12/03 19:32 von 127.0.0.1