Neuladen statt Cache
Alfred Loidl
- programmiertechnik
0 Christian0 scorn0 André Laugks0 scorn
Wie kann ich sicherstellen, dass ein Besucher meiner Seite die letzte Version meines Machwerkes bekommt und nicht eine Seite aus seinem eigenen cache?
Oder anders ausgedrückt:
Wie stelle ich es an, dass meine Seiten auf jeden Fall neu geladen werden müssen und nicht "gekäscht" werden?
Bitte um Antwort
<meta http-equiv="expires" content="0">
content gibt die Zeit, wie lange ein Seite im Cache bleiben darf, in Sekunden, glaub ich.
Näheres hier:
http://selfhtml.teamone.de/html/kopfdaten/meta.htm#laden
Christian
Hi,
und wie mache ich es, dass eine nicht komplette HTML-Datei die ich per PHP include nicht gecachet wird?
Konkret: Ich hab eine Shoutbox auf meiner HP, der Rest ist statisch, nun will ich aber, dass der Browser den statischen Part (Inhalt, Menu, Eingabemaske für die Shoutbox) cachet, aber nicht den Ausgabepart der Shoutbox, so dass immer die neuesten Posts angezeigt werden.
Ich include die Posts per PHP.
Ist es möglich, dass alles außer diesen Posts gecachet wird, oder muss ich auf Iframes zurückgreifen *schluck*?
danke,
scorn
Hallo!
Ist es möglich, dass alles außer diesen Posts gecachet wird, oder muss ich auf Iframes zurückgreifen *schluck*?
Für den Browser gibt es nur die gesamt Seite. Der Browser kann nicht Bereich einer Seite cachen, woher soll er auch wissen was includiert wird. Die paar KB die Seite hat, müßen ja nicht gecacht werden. Die Bilder, CSS-Datei und JS-Datei etc. bleiben ja im Cache.
MfG, André Laugks
Hi,
Für den Browser gibt es nur die gesamt Seite. Der Browser kann nicht Bereich einer Seite cachen, woher soll er auch wissen was includiert wird. Die paar KB die Seite hat, müßen ja nicht gecacht werden. Die Bilder, CSS-Datei und JS-Datei etc. bleiben ja im Cache.
Dann wäre es theoretisch klug, möglichst viele Bytes auszulagern, in Form von Stilen, Klassen in einer CSS-Datei bzw. in Form von Scripten in die *.js Datei (also auch für nur einmal benutzte Scripte eine externe Datei anlegen?)?
Und ich muss dann tatsächlich für die ganze seite expires 0 angeben?
Blöd...
hütlichst
scorn
Hallo!
Dann wäre es theoretisch klug, möglichst viele Bytes auszulagern, in Form von Stilen, Klassen in einer CSS-Datei bzw. in Form von Scripten in die *.js Datei (also auch für nur einmal benutzte Scripte eine externe Datei anlegen?)?
Ja, richtig! Das hat aber auch den Vorteil der Wiederverwertbarkeit. Desweiteren kann man versuchen, Bilder immer wieder zu verwenden.
Und ich muss dann tatsächlich für die ganze seite expires 0 angeben?
Ja, aber das bezieht sich nur auf das HTML-Dokument, nicht auf CSS- und JS-Dateien. Der Meta-Tag expires hat bei mir aber nie so richtig Erfolg gebracht. Am besten ist, man macht das gewalttätig serverseitig. In dem man Dokument veraltet versendet. Das manipuliert man die Header-Daten. Was aber auch schon hilft, an der Datei ein Query zu hängen, zum Beispiel den Timestamp: datei.php?12457412, datei.html?12457412, datei.html?12457412 usw. Wenn der Timestamp sich ändert, lädt der Browser nicht aus dem Cache.
MfG, André Laugks