next up previous contents
Next: Client-seitige Anforderungen Up: Proxy-Server Previous: Funktionsweise eines Proxy-Servers

Proxy-Server mit Cache

 Ein Proxy-Server kann in der Regel auch als Cache für Dokumente dienen, die von entfernten Informations-Servern geholt wurden [Klu95b]. Die vom Proxy-Server angeforderten Dokumente werden nicht nur an den Client zurückgeschickt, sondern auch in einem Cache auf der Festplatte zwischengespeichert (Abbildung [*]). Dies setzt voraus, daß der Proxy einen ausreichend großen Cache zur Verfügung stellt.


  
Abbildung: Zugriff auf entfernte und lokale Server unter Verwendung eines Proxy-Servers

Stellt ein Client eine Dokumentenanfage, die vor ihm bereits ein anderer Client gestellt hat, muß der Proxy-Server keine Verbindung zu einem entfernten Server aufbauen, sondern schickt dem Client das Dokument zurück, das im Cache zwischengespeichert wurde. Der Einsatz eines Proxy-Servers mit Cache hat gegenüber einem normalen Proxy-Server viele Vorteile:

Aufgrund der oben aufgeführten Vorteile, kann ein Proxy-Server mit Cache auch für solche Institutionen vorteilhaft sein, die keinen Firewall am Internet-Zugang verwenden, sondern lediglich die Cache-Funktionalität des Proxy-Servers nutzen möchten. Dadurch können nicht nur die Zugriffe auf die WWW-Seiten beschleunigt sondern auch die durch WWW erzeugte Netzlast und somit auch die Übertragungskosten reduziert werden.

Da ein Proxy beide Seiten der Kommunikation versteht, können zwei oder mehr Proxies kaskadenartig hintereinander gehängt werden. Dieser Vorgang wird auch als ,,Proxy-Chaining`` bezeichnet. Man könnte sich vorstellen, daß beispielsweise ein größeres Unternehmen jeder Abteilung oder jedem Unternehmensbereich einen eigenen Proxy-Server zur Verfügung stellt, der die WWW-Dokumente mit hoher Geschwindigkeit ausliefert. Die Proxy-Server der Abteilungen werden von einem zentralen Proxy-Server, der die Verbindungen zu externen Servern unterhält, bedient. Um eine Überlastung des zentralen Proxy-Servers auszuschließen, sollten lediglich die Proxy-Server der einzelnen Abteilungen und keine normalen Benutzer Zugang zum zentralen Proxy-Server erhalten.

Den erwähnten Vorteilen eines Proxy-Servers mit Cache stehen auch einige Nachteile gegenüber:

Um das Problem von veralteten Dokumenten beim Einsatz eines Proxy-Cache zu umgehen, versucht der Proxy-Server die Dokumente im Cache so häufig wie nötig zu aktualisieren und gleichzeitig so wenig wie möglich externe Zugriffe zu machen. Es werden hierzu die HTTP-Header Last-Modified, If-Modified-Since sowie Expires verwendet. Expires gibt an, wann ein Dokument als veraltet zu betrachten ist. Damit könnte man das Problem der veralteten Dokumente umgehen. Da es sich bei Expires, wie bei den anderen beiden Headern, um optionale Informationen handelt, ist ein WWW-Server nicht gezwungen, diese bei Auslieferung eines Dokuments zu verwenden, was in der Praxis auch nur sehr selten vorkommt. Mit Hilfe des Headers If-Modified-Since und der Angabe eines Datums kann der Client eine bedingte GET-Anfrage stellen. Das bedeutet, daß der Proxy-Server bzw. der entfernte Server das angeforderte Dokument nur dann schickt, wenn es nach dem in der Anfrage spezifizierten Datum geändert wurde.

Der CERN-Server besitzt, wie in Kapitel [*] gesehen, die Funktionalität als Proxy-Server zu agieren. Er verwendet den Header Last-Modified, falls Expires nicht verwendet wird und berechnet daraus mit Hilfe eines heuristischen Verfahrens ein künstliches Verfallsdatum eines zwischengespeicherten Dokuments.

Dynamisch generierte Dokumente stellen ein weiteres Problem für den Proxy- Server dar. Sie enthalten weder Expires- noch Last-Modified-Header, falls diese von den Entwicklern der CGI-Skripten nicht explizit angegeben werden. Dynamische Dokumente verlieren in der Regel sofort nach dem Aufruf ihre Gültigkeit und dürfen in den Cache nicht aufgenommen werden. Um dem Proxy-Server mit Cache Probleme und unnötigen Datenverkehr zu ersparen, wird den Entwicklern solcher externer Programme geraten, immer einen gültigen Expires-Header anzugeben.


next up previous contents
Next: Client-seitige Anforderungen Up: Proxy-Server Previous: Funktionsweise eines Proxy-Servers
Root on HPHEGER0
8/27/1998