De:Wie funktioniert Caching
From phpCMS
Frage: Wie funktioniert das Caching allgemein?
Antwort:
Wenn eine Anfrage nach der Datei http://www.example.com/index.html kommt, erzeugt phpCMS intern einen eindeutigen Namen für die angeforderte Datei, der aus Domainname (z.B. www.example.com), Pfad von Server-Root zur Datei (z.B. /home/user/someone/htdocs/) und dem Dateinamen (index.html) besteht. Aus diesen 3 Teilen wird ein MD5 codierter String berechnet (ein 32 Zeichen langer String aus Hexadezimalziffern), der dann z.B. "41d9943c8c255533e30e61a752cbc7ea" lauten könnte. Das ist der Dateiname, unter dem die Datei im Cache-Verzeichnis von phpCMS gespeichert ist. Durch die Hash-Codierung ist es möglich, einen phpCMS-Parser für mehrere Domains laufen zu lassen, weil www.example1.com/index.html dadurch getrennt von www.example2.de/index.html gecached wird.
phpCMS prüft also nach, ob im Cache Verzeichnis eine Datei "41d9943c8c255533e30e61a752cbc7ea" mit eine der Endungen .gz, .dyn oder .htm(l) existiert.
- .dyn
- Dynamisch gecachte Seiten, also Seiten, in denen z.B. ein Script eingebunden ist. phpCMS muss dann die statischen Bereiche der Webseite nicht noch mal neu erzeugen, sondern nur noch das Script laufen lassen und dessen Ausgabe in die gecachte Seite einbauen.
- .htm(l)
- Komplett statische Seiten, also Seiten, ohne Scripte und die keine oder nur statische Plugins enthalten. Diese Seiten werden als fertiger HTML-Output gecached und können direkt und ohne weitere Bearbeitung an den User weitergereicht werden
- .gz
- gzip-komprimierte statische Seiten. Die werden nur angelegt, wenn es sich um eine komplett statische Seite handelt sowie die gzip-Komprimierung in php verfügbar und in der Konfiguration von phpCMS eingeschaltet ist.
Die betreffende Seite wird dann (falls es sich um .htm(l) oder .gz handelt) direkt an den User ausgeliefert, oder falls es sich um .dyn handelt noch endgültig zusammengebaut, ggf. gzip komprimiert (falls eingeschaltet) und dann weitergegeben.
This page in other languages: English
Main Page: FAQ MainPage | Top Page: Deutsche FAQ Hauptseite

