Ich bin gerade am Programmieren eines News-Systems. Dabei ist es wichtig, dass das heraufgeladene Bild bei jedem öffnen der Seite wieder neu geladen wird. Leider gleicht es einem Glücksspiel, ob das Bild aus dem Cache genommen oder neu geladen wird. Gibt es da ein Attribut, oder irgendetwas, dass das veranlasst? Habe bis jetzt nichts gefunden.
Eigentlich sollte dafür die Angabe Last-Modified (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.29) reichen. Die ist allerdings etwas unter Umständen schwierig zu verschicken. Mit Glück macht es der Webserver selber, am sichersten ist aber zweifelsohne, wenn man das per Skript steuern kann.
Mit Last-Modified ersparst Du dem Nutzer die eine oder andere Übertragung, da der Browser die Übertragung von einem Zeitpunkt abhängig machen kann. Ist die Grafik neuer, wird sie übertragen, wurde sie nicht geändert, bekommt der Browser nur die kurze Meldung, daß sich nichts geändert hat.
Ändert sich die Grafik bei wirklich jedem Zugriff, kannst in die .htaccess des entsprechenden Verzeichnisses
<files dateiname>
header set Cache-Control no-cache
</files>
einfügen. dateiname kann dabei auch ein Muster sein, z.B. *.jpg. <files> bzw. <filesmatch> akzeptieren aber auch RegEx-Muster. B
Beschreibungen siehe http://httpd.apache.org/docs/mod/core.html#files (Apache/<files> und <filesmatch>), http://httpd.apache.org/docs/mod/mod_headers.html#header (Apache/header) und [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9] (HTTP/Cache-Control).
Alternativ kannst Du auch über Expires gehen: http://httpd.apache.org/docs/mod/mod_expires.html, das trifft den Nagel allerdings nicht ganz auf den Kopf, kann aber auch wiederum ein paar Übertragungen einsparen.
Gruß,
soenk.e