„Über Geld spricht man nicht“ lautet ein altes, besonders im deutschen Raum verbreitetes Sprichwort. Auch wenn die Aussprache des englischen Wortes „Cache“ (Zwischenspeicher) der Aussprache des Wortes für Bargeld („Cash“) gleicht, wird im Web-Bereich dennoch oft über den Cache (Zwischenspeicher) gesprochen. Und das hat seine Gründe, so trägt er doch dazu bei, dass Web-Inhalte möglichst schnell und effizient an die Frau oder den Mann und das entsprechende Endgerät ausgeliefert werden. In diesem destination.wiki-Beitrag geht es darum, ein Grundverständnis für diese im Web so wichtige Technik zu entwickeln und am Ende zu verstehen, weshalb diese Technik aus unserer heutigen Zeit nicht wegzudenken ist.
Ich sehe die Webseite vor lauter Caches nicht mehr!
Hierbei gibt es folgende Unterscheidung: Caches auf Seite der Webanwendung, z.B. einer Webseite und Caches auf der Seite des Benutzers dieser Webanwendung, also beim Client* oder Webseitenbesucher.
Caching bei Webseitenbesuchern
Falls Sie sich nun gewundert haben, dass Sie (als Webseitenbesucher) von diesem Cache gar keine Kenntnis haben: Diese Aufgaben übernimmt in der Regel der Webbrowser komplett für Sie! Und das ganze passiert „unter der Haube“, ohne dass Sie tätig werden müssen, im Browser-Cache. Ein typisches Beispiel für den Cache eines Webseitenbesuchers ist der Bildercache. Dabei werden Bilderdateien, die von einer Webseite an den Webseitenbesucher übermittelt werden, mit einem (normalerweise nicht sichtbaren) Ablaufdatum versehen. Der Browser des Webseitenbesuchers legt diese Bilder lokal in seinem Cache (auf der Festplatte oder dem Smartphone-Speicher) ab, und erneuert die Bilddatei in der Regel erst, nachdem das Ablaufdatum erreicht ist.
Im Falle des Webseitenbesuchers bedeutet Cache also:
- Lieber Browser, bitte achte darauf, welches Ablaufdatum Dir die Webanwendung für Ressourcen („nicht sichtbar“) mitgibt! Die Dateien ändern sich i.d.R. nicht vor diesem Ablaufdatum, deswegen:
- lege entsprechend diese Ablaufdatums die Dateien lokal auf dem Computer des Benutzers ab
- sofern genau diese Ressource vom Benutzer noch einmal angefragt wird, lade sie nicht vom weit entfernten Webserver (das kostet nämlich Zeit!), sondern nimm’ einfach die Ressource, die Du vorher auf dem lokalen Computer abgelegt hast
Dadurch wird also letztendlich erreicht, dass bspw. große Bilddateien nur einmalig an den Webseitenbesucher übertragen werden und so wird (unter Umständen “teure”) Bandbreite gespart und ein Geschwindigkeitsvorteil bei einem erneuten Aufruf derselben Ressource (in dem Fall der großen Bilddatei) erreicht.
TYPO3 und destination.one sind Webanwendungen und nutzen ebenfalls Caches. Diese existieren dabei auf unterschiedlichen Ebenen. Hier seien einige exemplarisch gelistet:
jeweils unterschiedliche für Konfigurationsdateien, Inhaltselemente, HTML-Gerüste, ggf. auf Datenbank oder Dateisystem-Ebene
Caches von strukturierten Daten auf Dateisystem-Ebene
Zugegeben: es ist nicht unbedingt transparent und einfach zu durchschauen, was man an welcher Stelle unter dem Begriff „Cache“ versteht, da es nicht “den einen Cache” gibt.
Wichtig zu wissen ist jedoch, dass es dem Prinzip der performanten Webseite und der schnellen Datenauslieferung folgt. Am Ende sind Caches kleine Teile in einem Puzzle, die zur Performance und dazu beitragen, dass Inhalte schnell(er) beim Webseitenbesucher ankommen.
Glossar / Wichtige Begriffe:
Beispielsweise das Programm eines Computers (und dadurch der Computer selber), mit dem eine Verbindung zu einem Server (in dem Fall einem Webserver) aufgebaut wird
der Zwischenspeicher des Gerätes des Webseitenbesucher, meist ist hier der Browser-Cache gemeint. Möglich ist hier aber bspw. auch, je nach IT-Infrastruktur vor Ort, ein Proxy-Cache.
übertragene (Web-)Daten, z.B. HTML-Dateien, Scripte, Schriften, Bilder etc.
Webseiten, die Ihre Inhalt zum Zeitpunkt der Anfrage nicht dynamisch ändern müssen und immer dasselbe Markup (HTML-Gerüst) besitzen.