Klaus: Download einer Datei immer vom Server erzwingen

Hallo,

mt META-Tag kann ich ja den Browser zwingen, dass HTML-Dateien immer vom Server heruntergeladen werden sollen und nicht.
Aber wenn ich auf der Seite eine Datei zum Download anbiete, dann wird diese immer noch vom Browser aus dem Cache genommen.
Kann ich das auch verhindern?

Diese hier funktionieren leider nicht:

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

Gruß,

Klaus

  1. Hi,

    mt META-Tag kann ich ja den Browser zwingen, dass HTML-Dateien immer vom Server heruntergeladen werden sollen und nicht.

    ... und nicht was? Der Satz endet irgendwo zwischen Tag und Siehsch-mi-net.
    Aber: Nein, zwingen kannst du einen Browser mit solchen Angaben nicht, du machst ihm damit nur Vorschläge. Er kann sie akzeptieren oder ignorieren und nach eigenem Ermessen handeln.

    Aber wenn ich auf der Seite eine Datei zum Download anbiete, dann wird diese immer noch vom Browser aus dem Cache genommen.
    Kann ich das auch verhindern?

    Ja, für dich selbst als Nutzer mit einer sinnvollen Browser-Cachekonfiguration.

    Diese hier funktionieren leider nicht:
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">

    Wo sollen die denn auch stehen? In einem HTML-Dokument? Dann gelten sie natürlich auch nur für eben dieses HTML-Dokument. Aber diese meta-Angaben sind ja auch nur ein Ersatz für die gleichnamigen HTTP-Header - und die kannst du bei *jeder* Ressource verwenden.

    Dennoch: Ob sich der Client wirklich dran hält, weiß man nicht.

    Ciao,
     Martin

    --
    Wenn man keine Ahnung hat - einfach mal Fresse halten.
      (Dieter Nuhr, deutscher Kabarettist)
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
  2. Mahlzeit Klaus,

    mt META-Tag kann ich ja den Browser zwingen, dass HTML-Dateien immer vom Server heruntergeladen werden sollen und nicht.

    Nein. Du kannst ihn darum bitte bzw. es ihm empfehlen. Zwingen jedoch nicht.

    Aber wenn ich auf der Seite eine Datei zum Download anbiete, dann wird diese immer noch vom Browser aus dem Cache genommen.
    Kann ich das auch verhindern?

    Wenn Dir eine Server-seitige Verarbeitung möglich ist: Biete die Datei nicht direkt zum Download an. Sorge dafür, dass z.B. ein PHP-Skript verlinkt wird, das als Parameter den Namen der Datei, eine ID o.ä. bekommt. Dieses Skript setzt dann entsprechende HTTP-Header und gibt die gewünschte Datei 1:1 an den Browser aus (eine ähnliche Funktionalität lässt sich auch mit anderen Programmiersprachen umsetzen).

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. 'ǝɯɐu$ ıɥ

      Wenn Dir eine Server-seitige Verarbeitung möglich ist: Biete die Datei nicht direkt zum Download an. Sorge dafür, dass z.B. ein PHP-Skript verlinkt wird, das als Parameter den Namen der Datei, eine ID o.ä. bekommt. Dieses Skript setzt dann entsprechende HTTP-Header und gibt die gewünschte Datei 1:1 an den Browser aus (eine ähnliche Funktionalität lässt sich auch mit anderen Programmiersprachen umsetzen).

      Könnte so aussehen:

      wischtisch.php

      <?php  
      header('Content-type: application/pdf');  
      header('Content-Disposition: attachment; filename="wischtisch.pdf');  
      readfile('wischtisch.pdf');  
      ?> 
      

      ssnɹƃ
      ʍopɐɥs

      --
      I like children. If they're properly cooked.
      - W.C. Fields
      1. Mahlzeit Shadowcrow,

        Könnte so aussehen:

        Prinzipiell ja ... wobei Du da jetzt den vergessen hast, der Klaus vermutlich am Wichtigsten ist:

        header('Cache-Control: no-cache');

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. 'ǝɯɐu$ ıɥ

          Prinzipiell ja ... wobei Du da jetzt den vergessen hast, der Klaus vermutlich am Wichtigsten ist:

          header('Cache-Control: no-cache');

          Uuups :-)

          ssnɹƃ
          ʍopɐɥs

          --
          I like children. If they're properly cooked.
          - W.C. Fields
    2. Hi,

      (eine ähnliche Funktionalität lässt sich auch mit anderen Programmiersprachen umsetzen).

      Und idR. auch ohne, in der (verzeichnislokalen) Serverkonfiguration.

      MfG ChrisB

      --
      “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]