lindner: Dynamische Bilder

Beitrag lesen

Hi,

ich arbeite gerade an einem PHP Script das Dynamische Bilder ausgibt,
und hab noch ein paar Probleme damit diese Bilder vom Browser Cachen zu lassen.
Die Bilder werden auch Serverseitig gecacht (readfile).

Pfad php Script (über mod_rewrite verändert):
http://www.linsinger.com/linsinger.com/image/669m316/media/2.jpg

Pfad gecachtes Image:
http://www.linsinger.com/linsinger.com/temp/s669x316_media_2.jpg

In den meisten Anleitungen für Dynamische Bilder wird ja einfach nur:
header("Content-Type: image/jpeg");
angegeben, was dann in meinem Fall zu folgenden Headers führt:

  
Generiert:  
HTTP/1.1 200 OK  
Date: Tue, 08 Jun 2010 08:58:46 GMT  
Server: Apache  
X-Powered-By: PHP/4.4.0  
Expires: Thu, 19 Nov 1981 08:52:00 GMT  
Cache-Control: no-store, no-cache, must-revalidate, post-check=0,pre-check=0  
Pragma: no-cache  
Set-Cookie: PHPSESSID=9bb7125ee5c00893b4df1d9326072b86; path=/  
Connection: close  
Transfer-Encoding: chunked  
Content-Type: image/jpeg  
  
Echte Jpg:  
HTTP/1.1 200 OK  
Date: Tue, 08 Jun 2010 09:01:07 GMT  
Server: Apache  
Last-Modified: Mon, 07 Jun 2010 12:03:27 GMT  
eTag: "219fde-e26c-75dce1c0"  
Accept-Ranges: bytes  
Content-Length: 57964  
Vary: Accept-Encoding  
Connection: close  
Content-Type: image/jpeg  

Nach einigen Stöbern bin ich nun auf diesem Stand:

  
header("Content-Type: image/jpeg");  
header("Cache-Control: public");  
header("Pragma: cache");  
header("Expires: ".gmdate("D, d M Y H:i:s",time()+86400)." GMT");  
header("Last-Modified: ".gmdate("D, d M Y H:i:s", $datumDerOriginalDatei)." GMT");  
header("ETag: ".md5($InhaltDerOriginalDatei));  

Was zu folgenden Headers führt:

  
HTTP/1.1 200 OK  
Date: Tue, 08 Jun 2010 09:02:46 GMT  
Server: Apache  
X-Powered-By: PHP/4.4.0  
Cache-Control: public  
Pragma: cache  
Expires: Wed, 09 Jun 2010 09:02:46 GMT  
eTag: 9f9974d82450b9d46164acb1e80352c3  
Set-Cookie: PHPSESSID=9f367857471d211a84b4ae8d09a11239; path=/  
Last-Modified: Tue, 25 May 2010 17:32:52 GMT  
Connection: close  
Transfer-Encoding: chunked  
Content-Type: image/jpeg  

Allerdings scheint das generierte Bild immer noch nicht vom Browser
gecacht zu werden, an welchen Headers könnte das liegen?

thx, mfg lindsey