Cache Control via PHP header()

Diskutiere mit über: Cache Control via PHP header() im Web Page Design Forum

  1. sevY

    sevY Thread Starter Gast

    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
     
    Zuletzt von einem Moderator bearbeitet: 24.03.2005
  2. master_p

    master_p MacUser Mitglied

    Beiträge:
    1.065
    Zustimmungen:
    23
    Registriert seit:
    31.01.2005
    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.
     
  3. Saski

    Saski MacUser Mitglied

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

    mikne64 MacUser Mitglied

    Beiträge:
    3.097
    Zustimmungen:
    92
    Registriert seit:
    02.04.2004
    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
     
  5. sevY

    sevY Thread Starter Gast

    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
     
Die Seite wird geladen...
Ähnliche Themen - Cache Control via Forum Datum
Bild via CSS einfügen Web Page Design 15.06.2012
Safari Cache leeren beim Reload Web Page Design 22.08.2011
Text-Höhe via JavaScript Web Page Design 07.01.2010
homepage von iweb via filezilla hochladen Web Page Design 29.05.2009
Seite nicht aus dem Cache laden Web Page Design 27.11.2005

Diese Seite empfehlen

Benutzerdefinierte Suche