Udo Weik: Abschalten Cache bei Bildern

Hallo,

ich habe eine HTML-Seite, die dynamisch erzeugt wird und ein BMP
enthält. Das BMP wird auch verändert, trotzdem erscheint immer
das alte Bild. Ich vermute ein Cache-Problem. Der Text der Seite
wird richtig aktualisiert. Wie kann ich explizit den Cache bei
Bildern abschalten? Folgende Zeilen haben keine Wirkung:

<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache>
<meta http-equiv="pragma" content="no-cache">

Danke und Gruss
Udo

  1. Hi,

    ich habe eine HTML-Seite, die dynamisch erzeugt wird und ein BMP
    enthält.

    Warum bmp?
    Das ist eines der ungünstigsten Bildformate, die es gibt.
    Mit anderen Formaten läßt sich die Dateigröße ganz wesentlich reduzieren.
    Wenn es verlustfrei sein muß, ist png meist die beste Wahl (in ganz wenigen Fällen .gif), wenn es nicht 100% farbecht sein muß, jpg.

    Das BMP wird auch verändert, trotzdem erscheint immer
    das alte Bild. Ich vermute ein Cache-Problem. Der Text der Seite
    wird richtig aktualisiert. Wie kann ich explizit den Cache bei
    Bildern abschalten? Folgende Zeilen haben keine Wirkung:
    <meta http-equiv="expires" content="0">
    <meta http-equiv="cache-control" content="no-cache>
    <meta http-equiv="pragma" content="no-cache">

    Diese Zeilen beziehen sich auf das HTML-Dokument, in dem sie stehen.
    Und zwar ausschließlich auf dieses HTML-Dokument. Auf nichts anderes.

    Sorge dafür, daß die entsprechenden Angaben in den HTTP-Headern des Bildes stehen, sonst können sie keine Auswirkung für das Bild haben.
    Oder sorge dafür, daß sich die URL des Bildes ändert (Anhängen eines Parameters mit timestamp oder Zufallswert).

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hallo Andreas,

      ich habe eine HTML-Seite, die dynamisch erzeugt wird und ein BMP
      enthält.

      Warum bmp?
      Das ist eines der ungünstigsten Bildformate, die es gibt.
      Mit anderen Formaten läßt sich die Dateigröße ganz wesentlich reduzieren.
      Wenn es verlustfrei sein muß, ist png meist die beste Wahl (in ganz wenigen Fällen .gif), wenn es nicht 100% farbecht sein muß, jpg.

      Das hat seine Gründe.-

      Das BMP wird auch verändert, trotzdem erscheint immer
      das alte Bild. Ich vermute ein Cache-Problem. Der Text der Seite
      wird richtig aktualisiert. Wie kann ich explizit den Cache bei
      Bildern abschalten? Folgende Zeilen haben keine Wirkung:
      <meta http-equiv="expires" content="0">
      <meta http-equiv="cache-control" content="no-cache>
      <meta http-equiv="pragma" content="no-cache">

      Diese Zeilen beziehen sich auf das HTML-Dokument, in dem sie stehen.
      Und zwar ausschließlich auf dieses HTML-Dokument. Auf nichts anderes.

      Sorge dafür, daß die entsprechenden Angaben in den HTTP-Headern des Bildes stehen, sonst können sie keine Auswirkung für das Bild haben.

      Und was ist ein HTTP-Header eines Bildes?? Ein Beispiel wäre nett!
      So ist das Bild eingebunden:
      <img border="0" src="../PICTURE.BMP" align="center" width="252" height="356">

      Oder sorge dafür, daß sich die URL des Bildes ändert (Anhängen eines Parameters mit timestamp oder Zufallswert).

      Teilweise mache ich das schon so, wollte es aber hier aus
      vielen Gründen verhindern.

      Danke und Gruss
      Udo

      1. hi,

        Sorge dafür, daß die entsprechenden Angaben in den HTTP-Headern des Bildes stehen, sonst können sie keine Auswirkung für das Bild haben.

        Und was ist ein HTTP-Header eines Bildes??

        na die header, die vom server beim beantworten des requests nach einer bildressource mitgeschickt werden.
        zunächst mal natürlich der Content-type header, und nebst einigen anderen ggf. auch header mit wunschangaben zum caching.

        Ein Beispiel wäre nett!

        die doku deines webserver sollte dir weiterhelfen.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hallo wahsaga,

          Sorge dafür, daß die entsprechenden Angaben in den HTTP-Headern des Bildes stehen, sonst können sie keine Auswirkung für das Bild haben.

          Und was ist ein HTTP-Header eines Bildes??

          na die header, die vom server beim beantworten des requests nach einer bildressource mitgeschickt werden.
          zunächst mal natürlich der Content-type header, und nebst einigen anderen ggf. auch header mit wunschangaben zum caching.

          Ein Beispiel wäre nett!

          die doku deines webserver sollte dir weiterhelfen.

          es ist eine lokale Datei, die ich von der Festplatte lade und im
          IE lokal anzeige. Wie kann ich da die Header beeinflussen??

          Danke und Gruss
          Udo

          1. Hi,

            es ist eine lokale Datei, die ich von der Festplatte lade und im

            Wieso verschweigst Du derart wichtige Dinge?

            IE lokal anzeige. Wie kann ich da die Header beeinflussen??

            Dann ist kein HTTP im Spiel, also auch keine HTTP-Header.

            cu,
            Andreas

            --
            Warum nennt sich Andreas hier MudGuard?
            Schreinerei Waechter
            Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
            1. Hallo Andreas,

              es ist eine lokale Datei, die ich von der Festplatte lade und im

              Wieso verschweigst Du derart wichtige Dinge?

              Tschuldigung.

              IE lokal anzeige. Wie kann ich da die Header beeinflussen??

              Dann ist kein HTTP im Spiel, also auch keine HTTP-Header.

              Trotzdem wird mein Bild nicht aktualisiert, da es noch in einem
              Cache stehen muss - obwohl sich die Uhrzeit natürlich ändert.
              Die Grösse bleibt gleich.

              Gruss
              Udo

              1. hi,

                Trotzdem wird mein Bild nicht aktualisiert, da es noch in einem
                Cache stehen muss - obwohl sich die Uhrzeit natürlich ändert.
                Die Grösse bleibt gleich.

                ergibt sich m.E. aus dem, was Andreas schon sagte - es ist kein HTTP im spiel.

                also gibt es auch keine methode GET in diesem umfeld, deren geänderte query string parameter irgendwen zum aktualisieren veranlassen könnten.

                gruß,
                wahsaga

                --
                /voodoo.css:
                #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hi,

    Das BMP wird auch verändert, trotzdem erscheint immer
    das alte Bild.

    Häng mal hinter den Dateinamen ein ? nebst wechselndem Wert (Timer, Zufallszahl, ...). Also test.bmp?1, test.bmp?2, usw.

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
    1. hi,

      Häng mal hinter den Dateinamen ein ? nebst wechselndem Wert (Timer, Zufallszahl, ...). Also test.bmp?1, test.bmp?2, usw.

      das hatte Andreas längst vorgeschlagen, und Udo hat zuletzt noch mal erklärt, dass das im vorliegenden fall auch nichts bringt.

      und du darfst dir jetzt mal </faq/#Q-09c> anschauen ;-)

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. Hi,

        und du darfst dir jetzt mal </faq/#Q-09c> anschauen ;-)

        :) Ja, aber soviel Zeit habe ich mitunter nicht. Ein grobes Überfliegen mit "Schuß ins Blaue" ist, zumindest für mich, dann deutlich effektive. =;-)

        Gruß, Cybaer

        PS: Wie gut, daß in der FAQ nicht steht, man müsse *alle* Threads lesen. =;->

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!