Kontrolle des HTTP-Cachings mit Perl

Nutzung lesekonsistenter Ansichten

Bislang hatten alle erwähnten Header den Zweck, das Caching zu reduzieren oder ganz abzustellen. Aber man kann das Caching auch zum eigenen Vorteil nutzen.

Bei Datenbanken spricht man von „lesekonsistenten Ansichten“, wenn man Daten aus einer Datenbank abruft. Man will schließlich nicht, dass die Daten durch in letzter Minute erfolgte Änderungen anderer Benutzer durcheinander gebracht werden. Die Datenbank erreicht dies, indem sie einen bestimmten Zeitpunkt festlegt, dem alle geschickten Daten entsprechen.

Dasselbe kann man mit dem HTTP-Caching-System erreichen, besonders bei firmeninternen Netzen. Nehmen wir an, dass ein bestimmter Bericht umfangreiche Berechnungen erfordert, z. B. die Übersicht über alle Transaktionen in einem Monat. Schalten Sie einfach einen Web-Proxy (z. B. Squid) zwischen Ihren Webserver und die Anwender. Beim ersten Abrufen des Berichts muss dieser erstellt werden. Nun kann man aber die Einstellungen so vornehmen, dass der Bericht nicht erneut erstellt werden muss. Entweder setzen Sie das Verfallsdatum auf der erstellten Kopie auf 28, 29, 30 oder 31 Tage in der Zukunft (je nach Monat), oder Sie setzen das Last-Modified-Datum auf das Datum, an dem die erste Kopie erstellt wurde. Auf diese Weise weiß der Cache bei allen folgenden Anfragen, dass die vorhandene Kopie auch die aktuelle ist. Also erstellen Sie bei allen nachfolgenden Anfragen einfach einen leeren Bericht und verlassen sich darauf, dass der Cache die frühere Kopie an den Benutzer schickt.

Dieser Trick funktioniert auch bei statischen HTML-Seiten. Verwenden Sie einfach im HEAD-Abschnitt ein Tag wie das folgende:


<META http-equiv="Expires" content=" Thu,
25 Jul 2002 08:12:13 GMT">

Zusammenfassung

Wenn Sie sich nicht um die zeitbezogenen Header bei Ihren Webserver-Programmen kümmern, werden Sie beim Testen unter Umständen auf zahlreiche Inkonsistenzen stoßen. Dies liegt am Caching. Doch was noch schlimmer ist: Im Testlabor funktioniert alles bestens, weil es dort kein Caching gibt, aber in der Praxis sieht das ganz anders aus. Um ein korrektes Verhalten Ihrer dynamischen Webseiten zu gewährleisten, sollten Sie diesen immer ordnungsgemäße Zeitstempel und Cache-Anweisungen beifügen.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Kontrolle des HTTP-Cachings mit Perl

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *