CosmoCode
  • Great software.

  • Bright people.

  • Happy customers!

CosmoCode GmbH
  • Start
  • Geschäftsfelder
  • Über uns
  • Referenzen
  • Blog
  • Open Source
←
Alle Blogposts
→

Cached Pages und dynamische Inhalte

In diesem Beitrag zeige ich, wie man auf statischen, gecachten Seiten dynamsiche Information der Art “Sie sind eingeloggt” einblenden kann. Mit der Verwendung des Squid als Reverse Proxy ist formel auch in Hochlast-Umgebungen einsetzbar; mit den flexibel regelbaren “Response Policies” können Dokument-spezifisch individuelle Caching-Strategien eingesetzt werden. Geschützte Bereiche oder dynamische Funktionen werden einfach vom Caching ausgenommen. Will man aber auch auf den gecachten Seiten dyna…

Detlef Hüttemann, 11.11.2005 07:01

Cached Pages und dynamische Inhalte

In diesem Beitrag zeige ich, wie man auf statischen, gecachten Seiten dynamsiche Information der Art „Sie sind eingeloggt“ einblenden kann.

Mit der Verwendung des Squid als Reverse Proxy ist formel auch in Hochlast-Umgebungen einsetzbar; mit den flexibel regelbaren „Response Policies“ können Dokument-spezifisch individuelle Caching-Strategien eingesetzt werden. Geschützte Bereiche oder dynamische Funktionen werden einfach vom Caching ausgenommen. Will man aber auch auf den gecachten Seiten dynamische Informationen einblenden, so kann man sich mit einem Trick helfen: Man verwendet dynamische Images.

Da Images ja nicht mit der Seite ausgeliefert werden, werden diese auch nicht gecacht, sondern stets neu vom Server gezogen. Verwendet man nun einen Bild-Generator, so hat dieser Zugriff auf die Session und kann - je nach Zustand der Session - ein unterschiedliches Bild zurückliefern, welches die gewünschte Information visuell darstellt. Damit dies klappt, muss natürlich das Caching des Bild-generators ausgeschaltet werden.

In der Seite sieht dies so aus:

img src="/generate/loggedInfo" border="0" height="43" width="66"

Der Bild-Generator loggedInfo kann so aussehen:

var isLoggedIn = req.getSession(true).getAttribute("user") != null;

var image;

if ( isLoggedIn ) 

  image = path.parse( "/images/eingeloggt.gif" );

else

  image = path.parse( "/images/ausgeloggt.gif" );

bild aus dem repository holen und content ausliefern.. Damit dies alles klappt, muss natürlich das Caching des Bild-Generators ausgeschaltet sein! Die Funktionalität lässt sich sogar noch um Interaktionen erweitern. Für eine Merkzettel-Funktionalität beispielsweise kann man das Image mit einem on-click-handler versehen, der die image-Url austauscht und mit der neuen URL CGI-Parameter übermittelt, die im Bildgenerator ausgewertet werden.

Mehr zum Thema

  • Dynamische Bilder erzeugen

Kontakt

Wir freuen uns sehr über Ihr Interesse!
Sie erreichen uns hier:

CosmoCode GmbH

Prenzlauer Allee 36G
10405 Berlin

Telefon: +49 30 814 50 40 70

Telefax: +49 30 2809 7093


mail: info@cosmocode.de

CosmoCode GmbH  
   

© CosmoCode 2021 | Impressum | Datenschutz | Cookies verwalten

Schließen
Deutsch Englisch
  • Jobs