Gregor: Probleme mit dem Browser Cache...

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

  1. 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

    --
    This posting comes with ABSOLUTELY NO WARRANTY, to the extend permitted by applicable law.
    ss:| zu:) ls:[ fo:) de:] va:) ch:? sh:( n4:& rl:( br:< js:| ie:{ fl:( mo:}
    Selfcode? Was soll denn das? http://emmanuel.dammerer.at/selfcode.html
  2. 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