Hauptmenü

Untermenü

Einführung - Das Internet - Caching

1. Es war einmal

... vor langer, langer Zeit, als das Internet sich anhob, seinen Siegeszug anzutreten. Und zu dieser Zeit (Mitte der 90er) trug es sich zu, dass die damaligen Übertragungsraten gar garstig waren. Otto-Normalsurfer werkelte mit so genannten 28.8er- und 33.6er-Modems herum und bei den Providern sah es auch nicht so prickelnd aus. Man hatte dementsprechend Übertragungsraten von etwa 30 Kilobit. Das war also kein Vergleich zu den etwa 700 Kilobyte, die man heute mit einem 6000er DSL-Anschluß hat.

Also bauten die Browserhersteller und Provider besagten Mechanismus in ihre Anwendungen ein. Dabei werden Daten auf lokalen Systemen zwischengespeichert, um im Wiederholungsfall schneller auf sie zugreifen zu können. Dem schlossen sich dann alsbald die Entwickler von Firewalls an.

2. Varianten

Browsercache

Wie der Name schon sagt, legt in diesem Fall der Browser eine komplette Kopie einer Seite an, inklusive aller Bilder, HTML-, CSS und JavaScript-Dateien.

Proxy-Cache

Bei einem Proxy-Server gibt es einfach gesagt zwei Möglichkeiten. Erstens, euer Provider hat einen und greift zuerst darauf zu, bevor er sich die Original-Daten vom eigentlichen Webserver holt. Zweitens, ihr habt einen Server der als Firewall fungiert und gleichzeitig als Proxy-Server benutzt wird. Und in beiden Fällen werden ebenfalls Kopien von Internetseiten angelegt. Es gibt da noch ein paar andere Möglichkeiten, aber auf die gehe hier nicht ein, da wir uns ja nur mit dem Prinzip beschäftigen wollen.

Illustration

Caching

3. Das Problem

Wenn man nun Änderungen an seinem Auftritt vornimmt, so kann es jederzeit passieren, dass der geneigte Betrachter die nicht zu Gesicht bekommt, weil sein Browser, warum auch immer, auf alte Daten aus einem Cache zugreift. Und dabei ist es egal, ob es sich um statische HTML- oder dynamische PHP-Seiten handelt. Denn auch ein Proxy holt sich nur das Ergebnis einer Abfrage.

Noch schlimmer

... wird es, wenn beim Browser teilweise neue und alte Daten ankommen. Nehmen wir mal an, wir haben eine Seite umstrukturiert und ausgehend davon eine ausgelagerte JavaScript-Datei angepasst. Jetzt kann es tatsächlich passieren, dass der Browser den alten HTML- und den neuen JavaScript-Code lädt. Und dann rummst es gewaltig, weil die Daten nicht mehr zueinander passen.

4. Die Lösung

Gibt es nicht! Man hat zwar Möglichkeiten, das Cache-Verhalten von Browsern und Proxy-Servern zu steuern (dazu später mehr), aber das sind bestenfalls Empfehlungen. Gut, beim Browser wirkt ein mehrmaliges kräftiges Hauen auf die F5-Taste (Aktualisieren) wahre Wunder, muss aber nicht. Und bei Proxy-Servern gibt es manchmal echt seltsame Phänomene. So arbeiten sie teilweise so, dass sie bei Überlastung die Anfragen nicht mehr ins Internet schicken, sobald eine Kopie davon existiert. Ich habe das selber mal bei einem ehemaligen Kunden erlebt, der noch drei Stunden nach einer Änderung die alte Fassung zu Gesicht bekam. Eben weil die Kiste dicht gemacht hat.

Das Sorgenkind

... ist diesmal (ausnahmsweise) nicht der Internet Explorer, sondern der Opera. Denn der ist ein wahres Cachemonster. Leider ist der Firefox mittlerweile zu einem echten Konkurrenten geworden. Dagegen kann man als User zwar etwas machen, aber als Anbieter von Internetseiten muss man da echt tricksen.

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt