• Bin zu doof für HTML: wie erzwinge ich, dass ein Bild bei jedem Aufruf/Reload der Seite wirklich neu geladen wird?

    Ich habe mir via Stackexchange das hier für den <head>-Bereich der Seite zusammengegoogelt, das funktioniert aber nicht, weder in Chrome noch in Safari wird das eingebundene Bild bei einem Seiten-Reload neu geladen, wenn ich es in der Zwischenzeit auf dem Webserver ausgetauscht habe:
    Show Plain Text
    1. <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
    2. <meta http-equiv="Pragma" content="no-cache">
    3. <meta http-equiv="Expires" content="0">
    4. <meta http-equiv="refresh" content="660">
    Wenn ich das Bild direkt aufrufe (also nicht in eine HTML-Seite eingebunden) werden die Änderungen direkt auch dargestellt, das Bild wurde also nachweislich ausgetauscht, nur die Browser schnallen das irgendwie nicht.

    Hat jemand 'ne Ahnung was ich falsch mache? Danke, fby
    • Stckoverflow sagt "Chrome ist doof"...

      beim Caching

      Show Plain Text
      1. This works in Chrome:
      2.  
      3. <meta http-equiv="cache-control" content="max-age=0" />
      4. <meta http-equiv="cache-control" content="no-store" />
      5. <meta http-equiv="expires" content="-1" />
      6. <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
      7. <meta http-equiv="pragma" content="no-cache" />


      probier mal
        • Nein, nicht direkt

          Ich habe hier beim Programmieren mit mind. 3 Caches zu tun.

          Browser (FF, Chrome, Safari)
          Framework (Symfony cached selber)
          Webserver (OPCache,APC von php)

          an sich kann man da schon mal verzweifeln.
          Deine Meta Angaben sagen nur dem Browser, er soll die Daten vom Server neu laden, das ist wie Shift-F5 (Neuladen, je nach Rechner Ctrl-Neuladen). Das kannst du in den Entwicklertools sehen, ob der Browser die Bilder aus dem eigenen Cache geladen hat.

          Durch den Aufruf mit zufälligem Parameter, gaukelst du dem Server den Abruf einer anderen Datei vor, der guckt nach...und wird normalerweise feststellen, dass die .jpg?t=TIMESTAMP nicht ausgeliefert wurde und sendet neu.