Daniel Thoma: wechselndes Hintergrundbild, dennoch Caching

Beitrag lesen

Hallo kölir,

Dieses Hintergrundbild z.B. bg.gif wird in wirklichkeit als PHP interpretiert und innerhalb dieser PHP wird zufällig auf ein Bild "weitergeleitet".

Das PHP-Script darf ruhig weiterhin bg.php heißen, auch wenn es ein Bild ausgibt oder zu einem Bild weiterleitet.

Damit der Browser die Bilder cachen kann, muss unter der gleichen URI immer das gleiche Bild bereitgestellt werden.
Das kannst Du erreichen, indem Du die URI dynamisch ins CSS einfügst. Dann kann die CSS-Datei allerdings natürlich nicht mehr gecacht werden.
Was eigentlich auch funktionieren müsste, ist, dass bg.php mit einem temporären Redirect zum jeweiligen Bild antwortet. Da würde ich erwarten, dass der Browser jedes mal neu bg.php aufruft, aber das Bild aus dem Cache holt.
(Caching hängt natürlich an entsprechenden HTTP-Header, das solltest Du allerdings nur für die CSS-Variante berücksichtigen müssen, um zu verhindern, dass die dynamisch erzeugte CSS-Datei gecacht wird).

Wenn Du erreichen willst, dass bei gecachtem Bild überhaupt kein Request an den Server geschickt werden muss, musst Du natürlich auch Clientseitig entscheiden, welches Bild angezeigt werden soll. Dann kommst Du um Javascript nicht herum.

Grüße

Daniel