it-swarm.com.de

Wie kann ich einen Browser veranlassen, eine neue Kopie einer Webseite herunterzuladen, wenn er der Ansicht ist, dass die zwischengespeicherte Kopie noch gültig ist?

Manchmal, wenn ich kleine Änderungen an einer Website vornehme, stelle ich fest, dass bestimmte Browser sehr hartnäckig sind, wenn sie die Seite erneut herunterladen. Sowohl F5 als auch STRG-R sind wertlos. Sie können das Problem nur beheben, indem Sie die Optionen durchgehen und manuell anweisen, den Cache zu leeren. Ich habe PHP zuvor verwendet, um einen Cache-Flush-Header zu senden, aber gibt es einen einfacheren oder besseren Weg?

5
dmsnell

Es kommt darauf an, was zwischengespeichert wird. Wenn es sich um die Hauptseite handelt, besteht die einzige Möglichkeit, das Zwischenspeichern zu verhindern, darin, den HTTP-Header no cache zu verwenden.

Beachten Sie jedoch, dass JS- und CSS-Dateien normalerweise auch zwischengespeichert werden. Ein Trick, um sie ungültig zu machen, wenn sie von vielen Websites verwendet werden - einschließlich dieser -, ist das Anhängen einer Dummy-Nummer nach dem '?'. Alles nach dem '?' wird vom Webserver ignoriert, aber da sich die URL ändert, lädt der Browser sie immer wieder herunter.

Ein Beispiel von dieser Seite: http://sstatic.net/webmasters/all.css?v=ac775b7bd951. Der "ac775b7bd951" stammt von Mercurial, dem verwendeten Versionssystem. Sie können mit svn etwas Ähnliches tun (Beispiel: all.css? Revision = 123).

6
Thomas Bonini

F5 wird über den Cache aktualisiert. Strg-F5 ignoriert den Cache. Ich bin nicht sicher, aber es hört sich so an, als ob Strg-R gleichbedeutend mit F5 und nicht mit Strg-F5 ist.

2