Probleme mit dem Browser Cache...
Gregor
- php
Hi Leute
ich hab folgendes Problem:
Meine Seite besteht aus einer vollständigen Flash Umgebung, die ihre Inhalte mittels PHP Scripten aus einer MySQL Datenbank liest. Dabei habe ich nur manchmal Ärger mit dem Browser Cache, da er keine neue Datenbankanfrage zulässt, sondern eine alte wiedergibt.
Nach intensiver Suche habe ich auch herausgefunden wie man selbiges Problem für HTML Seiten löst (über META Angabe 'expire' usw). Da das PHP Script welches zwischen Flash und Datenbank steht aber keine HTML Seite ausgibt, sondern den Typ "application/x-www-urlformencoded" hat komme ich mit META Angaben wohl nicht weit.
Also wie mache ich jedem Browser verständlich das er diese winzig kleinen Scripte nicht zwischenspeichert sondern immer wieder neu einliest?
vielen dank im vorraus
gruß
gregor
Hallo Gregor
Also wie mache ich jedem Browser verständlich das er diese winzig kleinen Scripte nicht zwischenspeichert sondern immer wieder neu einliest?
Du kannst deine Daten mit dem HTTP-Header
Cache-Control: no-store
ausliefern. Allerdings liegt es immer noch beim Browser, ob er das dann auch wirklich macht.
Schöne Grüße
Johannes
Hallo Gregor,
[PHP-Generierte Flash-Sachen sollen nicht im Cache landen]
Also wie mache ich jedem Browser verständlich das er diese winzig kleinen Scripte nicht zwischenspeichert sondern immer wieder neu einliest?
Vielleicht inspiriert Dich der Abschnitt "Expiration Model"
aus der HTTP 1.1 Specification (RFC 2616):
http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.2
Eine andere Quelle ist: "Making PHP Applications Cache-Friendly".
(Dort geht es um das Gegenteil dessen, was Du willst.)
http://www.phpbuilder.com/columns/brunner20011113.php3?print_mode=1
Versuch's doch mal mit folgendem _ganz_am_Anfang_ Deines PHP-Scripts:
$gmt_mtime = gmdate('D, d M Y H:i:s', time()) . ' GMT';
$lastmod_header = "Last-Modified: " . $gmt_mtime;
Header($lastmod_header);
HTH, mfg
Thomas