Missie: Cash abschalten

Hallo

also mein Problem ist, dass bei mir immer das veraltete Guestbook angezeigt wird, obwohl bereits neue Einträge hinzugefügt wurden. Nur, wenn ich den entsprechenden Frame von Hand neu lade, wird der neue Eintrag angezeigt.
Der <meta http-equiv="cache-control" content="no-cache"> Tag zeigt leider keine Wirkung, wie kann ich also anders den Browser-Cash umgehen?

Gruß Missie

  1. Browser-Cash umgehen?

    Ich würd mir seinen Geldbeutel schnappen und dann mit seinem ganzen CASH so richtig toll einkaufen gehen. :-) (Cache <- so heißts richtig)
    Ne. Ich kenn bis jetzt noch keine Andere methode als das mit den metatags.
    Halt, doch: und zwar das METATAG! ----meta http-equiv="refresh"---- such mal danach. Es aktualisiert deine Seite Automatisch nach einer bestimmten Zeit. Wenn du die zeit auf null stellen würdest und das dann als Umleitung auf dein GB dann müsste dein gästebuch auch neu geladen werden.

    1. OK
      das kommt davon, wenn man schreibt wie man spricht:-)
      Danke

  2. Hallo Missie,

    Der <meta http-equiv="cache-control" content="no-cache"> Tag zeigt leider keine Wirkung, wie kann ich also anders den Browser-Cash umgehen?

    Wenn das Metatag nicht klappt, dann musst Du Serverseitig die entsprechenden Header mitschicken. Welche Sprache verwendest Du für Dein Gästebuch?

    Grüße,

    Christian
    </archiv/2002/10/25482/#m139582>

    --
    Sollen sich alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen und nicht mehr davon erfasst haben als eine Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst.
                          -- Albert Einstein
    1. Die Bourn Shell und den Head kann ich gestallten, wie ich will. Da kann alles rein, zur Zeit ist nur der Meta-Tag und der Title enthalten.

      Danach les ich eine Datei aus und beende den Body wieder.
      Das was schon, sehr einfach funktioniert aber. bis auf den Cache.

      1. Hallo,

        Die Bourn Shell

        Du schreibst ein *WEB*-Gästebuch in der Bourne-Shell? *kopfkratz* Möglich isses zwar, aber bist Du Dir sicher?

        und den Head kann ich gestallten, wie ich will. Da kann alles rein, zur Zeit ist nur der Meta-Tag und der Title enthalten.

        Moment - Head != Header! Der <head> ist ein Bereich des HTML-Dokuments, der Header ist ein Teil einer HTTP-Anfrage. Dein Gästebuch hast Du ja mit irgendeiner serverseitigen Scriptsprache geschireben, oder? (und selbst wenn es die Bourne-Shell ist) Könntest Du das ganze vielleicht etwas nächer erläutern?

        Grüße,

        Christian

        --
        Sollen sich alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen und nicht mehr davon erfasst haben als eine Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst.
                              -- Albert Einstein
        1. Mir steht nichts anderes zur Verfügung, abgesehen von anderen Shells, wie die wish oder die bash.
          Ich hab aber auch mal im Archiv gesucht, das scheint ein bekannteres Problem zu sein.
          Das mit dem Header hab ich immer noch nicht kappiert, aber ich beschreib mal mein Skript:
          1. im Left-Frame ist ein Link auf, das ShellSkript(*.sh) gesetzt
          2. im Skript steht: #!/bin/sh
                              echo "Content-Type: text/html"
                              echo <body><head><der Meta Tag></head><body>
                              cat guestbook.txt
                              echo </body></html>
          3. der Browser schreibt die angebliche "Html-Datei" in den Hauptframe

          also stark vereinfacht

          1. Hallo Missie,

            Mir steht nichts anderes zur Verfügung, abgesehen von anderen Shells, wie die wish oder die bash.

            Dass ich *das* noch erleben darf... CGI-Programmierung über die Bourne-Shell. Wow...

            Das mit dem Header hab ich immer noch nicht kappiert, aber ich beschreib mal mein Skript:
                                echo "Content-Type: text/html"

            Mit dieser Zeile sendest du schon einen Header, nämlich Content-Type: text/html. Füge da noch ein

            echo "Cache-Control: no-cache"
            echo "Pragma: no-cache"
            echo "Expires: Thu, 01 Jan 1970 00:00:00 GMT"

            ein und dann wird es klappen. Du würgst damit zwar den Cache komplett ab, aber ich wüßte keine Möglichkeit, ohne Zusatzprogramme aus einer Bourne-Shell das Modifikationsdatum einer Datei zu bekommen.
            Desweiteren sollte hier noch eine Zeile

            echo ""

            stehen, sonst verstehe ich nicht, warum das überhaupt klappt, dass er das GB anzeigt.

            echo <body><head><der Meta Tag></head><body>

            Fehlt da nicht noch ein <html>? Und eine DOCTYPE? Ach ja, den Meta-Tag kannst Du entfernen.

            Zum Header: Eine HTTP-Anfrage wird in 2 Teilen beantwortet: Einem Header und einem Body. Hat erst mal nichts mit HTML zu tun. Im Header sind (grob vereinfacht) zusätzlichen Infos zur Datei und im Body die Datei selbst. Du schickst jetzt noch 3 zusätzliche Header mit:

            Cache-control: no-cache

            er soll nicht cachen (für HTTP/1.1-verstehende Browser)

            Pragma: no-cache

            er soll nicht cachen (für HTTP/1.0+erweiterung-verstehende Browser)

            Expires: ...

            Die Seite läuft am 1. Januar 1970 um 00:00:00 ab. Daher ist sie schon komplett abgelaufen. Eigentlich würde es reichen, das Datum der letzten Veränderung der GB-Datei mitzugeben (das liegt ja auch in der Vergangenheit) aber ich weiß wie gesagt nicht, wie ich das rauskriegen kann.

            Grüße,

            Christian

            --
            Sollen sich alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen und nicht mehr davon erfasst haben als eine Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst.
                                  -- Albert Einstein
            1. Ok,
              vielen Dank, ich werd es versuchen.
              und die fehler mit den zusätzlichen echo und dem html-Tag sind nur wegen der eile geschehen.

              MfG Missie

            2. Die Seite läuft am 1. Januar 1970 um 00:00:00 ab. Daher ist sie schon komplett abgelaufen. Eigentlich würde es reichen, das Datum der letzten Veränderung der GB-Datei mitzugeben (das liegt ja auch in der Vergangenheit) aber ich weiß wie gesagt nicht, wie ich das rauskriegen kann.

              Mit
              date;
              geht das in der Shell

            3. Das aktuelle Datum meihne ich,
              das alte bekomme ich der Datei.

              1. Hallo Missie,

                Das aktuelle Datum meihne ich,
                das alte bekomme ich der Datei.

                Mir ist schon klar, wie ich das aktuelle Datum bekomme. Mit date -u bekommt man sogar eines, das für den Header sozusagen "fertig" ist. Aber das Problem ist, dass das nicht das Änderungsdatum der Datei ist. Naja - funktionieren wird es auf jeden Fall jetzt so - nur "schön" ist es halt nicht.

                Grüße,

                Christian

                --
                Sollen sich alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen und nicht mehr davon erfasst haben als eine Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst.
                                      -- Albert Einstein