Christian Seiler: Cash abschalten

Beitrag lesen

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