Cache Control via PHP header()

  1. sevY

    sevY Thread Starter

    Hi,

    ich habe eine Website geschrieben, welche eine Livewebcam aus einem Tonstudio enthält.

    Das funktioniert folgendermaßen:

    1.) Im Tonstudio ist eine IP-Webcam, die im 10 Sekunden Takt aktualisiert und ein Bild auf den Webspace lädt (…Real Streaming mit IP-Cam ist in Arbeit… nicht das jetzt jemand wegen des Traffics/Serverlast meckert… die FTP Verbindung ist übrigens persistent).

    2.) Auf der Website befindet sich ein Flashfilm, der in einem 10 Sekunden Interval immer ein Bild mit dem Namen webcam.jpg per loadMovie() lädt (nicht immer ganz synchron… aber das wird ebenfalls mit der unter 1.) genannten Lösung verbessert).

    Folgendes Problem:

    Unter sämtlichen MacOS Browsern funktioniert es, das immer ein neues Bild angezeigt wird, da folgende Funktion das Caching verhindert:

    PHP:
    <?php
    //Caching verhindern
    header("Expires: Mon, 26 Jul 1970, 00:00:00 GMT");
    header("Last-Modified:".gmdate("D,d M Y H:i:s")."GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Cache-Control: post-check=0, pre-check=0"false);

    //Als XHTML ausliefern
    header('Content-Type: application/xhtml+xml; charset=utf-8');
    header('Vary: Negotiate,Accept');
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
    <meta name="description" content=".........." />
    <meta name="keywords" lang="de" content="......." />
    <meta name="content-language" content="de">
    <meta name="robots" content="index,follow" />
    <meta name="revisit-after" content="7 days" />
    <meta name="author" content="..........." />
    /usw. …
    Unter Windows IE 6 und Opera wird das Bild webcam.jpg leider cached.
    Ich habe in der MS Knowledgebase gelesen, das der IE nicht unbedingt auf das <meta http-equiv> Tag für Cache-Control hört und generell die header() Methode mittels PHP zu bevorzugen ist.
    http://support.microsoft.com/kb/q234067/

    Unter MacOS funktioniert es ja auch wunderbar… daher habe ich dann auch auf das <meta-http-equiv> Tag verzichtet.

    Scheinbar ist der IE 6 eine Ansammlung von Bugs…
    http://www.web-caching.com/msiebugs.html

    Naja… das Problem muß aber gelöst werden.

    Hat jemand Vorschläge?

    Viele Grüße

    Yves
     
    sevY, 24.03.2005
  2. master_p

    master_pMacUser Mitglied

    Mitglied seit:
    31.01.2005
    Beiträge:
    1.063
    Zustimmungen:
    23
    Was passiert denn, wenn Du den meta-Tag wieder einfügst? Ansonsten kann man mit JavaScript den Cache leeren. Allerdings haben das einige Leute ja auch ausgeschaltet.
     
    master_p, 24.03.2005
  3. Saski

    SaskiMacUser Mitglied

    Mitglied seit:
    06.02.2005
    Beiträge:
    644
    Zustimmungen:
    0
    Dumme Idee, aber vielleicht einen Zufallsstring reinschreiben? Oder die Uhrzeit? Dann ist die Seite ja aktualisiert, und der Browser wird sie neuladen wollen :)
     
    Saski, 24.03.2005
  4. mikne64

    mikne64MacUser Mitglied

    Mitglied seit:
    02.04.2004
    Beiträge:
    3.097
    Zustimmungen:
    92
    Hallo,

    auch in der Version 6.x hat der Internet Explorer einen Fehler mit "Caching". Standardmäßig muß in den Einstellungen der Cache von "Automatisch" auf "Bei jedem Zugriff neu laden" gestellt werden, dann Internet Explorer komplett beenden und neu starten.
    Leider haben das viele nicht eingestellt.

    Versuche mal
    header("pragma: no-cache");

    von
    Code:
    <meta http-equiv="pragma" content="no-cache">
    
    Viele Grüße
    Michael
     
    mikne64, 24.03.2005
  5. sevY

    sevY Thread Starter

    Hmm, hat alles nicht geholfen.

    Aber:

    Ich hänge dem Bildnamen im LoadMovie() Befehl in Flash einfach einen Timestamp an…

    loadMovie('webcam.jpg?[ddmmyyyyhhmmss => z.B 28032005181224]);


    Yves
     
    sevY, 28.03.2005
Die Seite wird geladen...
Ähnliche Themen - Cache Control via
  1. Lightspeed
    Antworten:
    4
    Aufrufe:
    351
    Lightspeed
    07.02.2017
  2. freakApple
    Antworten:
    4
    Aufrufe:
    7.957
    macfan97
    25.06.2012
  3. mahed
    Antworten:
    1
    Aufrufe:
    1.811
    AcidReign
    22.08.2011
  4. keykiller
    Antworten:
    0
    Aufrufe:
    688
    keykiller
    07.01.2010
  5. Der_Jan
    Antworten:
    5
    Aufrufe:
    1.023
    moses_78
    27.11.2005