ASP Tipp 21: Aktivieren Sie Browser- und Proxyzwischenspeicherung

ASP deaktiviert das Zwischenspeichern in Browsern und Proxys automatisch. Dies ist sinnvoll, da eine ASP-Seite von Natur aus dynamisch ist und potenziell zeitempfindliche Informationen enthält. Wenn eine Seite beim Anzeigen nicht jedes Mal aktualisiert werden muss, sollten Sie die Browser- und Proxyzwischenspeicherung aktivieren. Dadurch können Browser und Proxys eine „zwischengespeicherte“ Kopie einer Seite für einen bestimmten, von Ihnen festgelegten Zeitraum verwenden. Durch Zwischenspeichern wird die Belastung des Servers drastisch reduziert, und Benutzer machen positivere Erfahrungen.

Welche dynamischen Seiten eignen sich zum Zwischenspeichern? Hierzu einige Beispiele:

  1. Eine Wetterseite, auf der das Wetter nur alle fünf Minuten aktualisiert wird.
  2. Eine Homepage mit Nachrichten oder Pressemitteilungen, die nur zweimal täglich aktualisiert wird.
  3. Ein Liste mit der Leistung von Fonds, deren Statistiken nur alle paar Stunden aktualisiert werden.

Beachten Sie, dass bei der Browser- oder Proxyzwischenspeicherung auf Ihrem Webserver weniger Treffer verzeichnet werden. Wenn Sie versuchen, alle Seitenansichten genau zu messen oder Werbung auf einer Website zu platzieren, machen Sie mit der Browser- oder Proxyzwischenspeicherung möglicherweise keine guten Erfahrungen.

Die Browserzwischenspeicherung wird vom HTTP-Header Expires gesteuert, der von einem Webserver an einen Browser gesendet wird. ASP stellt zwei einfache Mechanismen zum Senden dieses Headers bereit. Sie können die Seite so konfigurieren, dass sie nach einer bestimmten Anzahl von Minuten abläuft. Legen Sie dazu die Response.Expires-Eigenschaft fest. In folgendem Beispiel wird dem Browser mitgeteilt, dass der Inhalt nach 10 Minuten abläuft.

<% Response.Expires = 10 %>

Wenn Sie für Response.Expires eine negative Zahl oder Null festlegen, wird das Zwischenspeichern deaktiviert. Verwenden Sie auf jeden Fall eine große negative Zahl, z. B. -1000 (etwas mehr als ein Tag), um Unterschiede zwischen den Uhren auf dem Server und den Browsern zum umgehen. Eine zweite Eigenschaft, Response.ExpiresAbsolute, ermöglicht das Festlegen einer bestimmten Uhrzeit, zu der der Inhalt abläuft.

<% Response.ExpiresAbsolute = #May 31,2001 13:30:15# %>

Statt den Ablauf mit dem Response-Objekt festzulegen, können Sie ein <META>-Kennzeichen in HTML (normalerweise im Abschnitt <HEAD> der HTML-Datei) schreiben. Einige Browser respektieren diese Anweisung, Proxys jedoch nicht.

<META HTTP-EQUIV=„Expires“ VALUE=„May 31,2001 13:30:15“>

Zum Schluss können Sie noch angeben, ob der Inhalt für eine Zwischenspeicherung in einem HTTP-Proxy gültig ist. Verwenden Sie dazu die Response.CacheControl-Eigenschaft, und legen Sie sie auf Public fest, um Proxys das Zwischenspeichern des Inhalts zu ermöglichen.

<% Response.CacheControl = „Public“ %>

Diese Eigenschaft ist standardmäßig auf Private festgelegt. Beachten Sie, dass die Proxyzwischenspeicherung nicht für Seiten aktiviert werden sollte, die benutzerspezifische Daten anzeigen, da der Proxy möglicherweise Seiten anzeigt, die anderen Benutzern gehören.