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.

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

EU-Datenschützer kritisieren Facebooks „Zustimmung oder Bezahlung“-Modell

Ohne eine kostenlose Alternative, die ohne Zustimmung zur Verarbeitung personenbezogener Daten zu Werbezwecken auskommt, ist…

1 Woche ago

Europol meldet Zerschlagung der Phishing-as-a-Service-Plattform LabHost

LabHost gilt als einer der größten Phishing-Dienstleister weltweit. Die Ermittler verhaften 37 Verdächtige, darunter der…

1 Woche ago

DE-CIX Frankfurt bricht Schallmauer von 17 Terabit Datendurchsatz pro Sekunde

Neuer Datendurchsatz-Rekord an Europas größtem Internetknoten parallel zum Champions-League-Viertelfinale.

1 Woche ago

Samsungs neuer LPDDR5X-DRAM erreicht 10,7 Gbit/s

Die neuen Chips bieten bis zu 25 Prozent mehr Leistung. Samsung steigert auch die Energieeffizienz…

1 Woche ago

Cisco warnt vor massenhaften Brute-Force-Angriffen auf VPNs

Betroffen sind Lösungen von Cisco, Fortinet, SonicWall und anderen Anbietern. Die Hacker nehmen Konten mit…

1 Woche ago

Cybersicherheit in KMUs: Es herrscht oft Aufholbedarf

Immer häufiger müssen sich Betriebe gegen Online-Gefahren wehren. Vor allem in KMUs werden oft noch…

2 Wochen ago