2012-06-08 13 views
7

Kann mir jemand erklären, wie man einen Cache für meine Seite einstellt, wenn der Benutzer die Zurück-Taste drückt und offline ist oder etwas, dann sieht er immer noch die vorherige Seite wie auf SO und am meisten Websites.Wie kann ich nur für die Zurück-Taste zwischenspeichern

Aber wie kann ich erzwingen, dass, wenn eine neue HTTP-Anfrage gesendet wird, wird es eine neue holen, da sich der Inhalt von Minute zu Minute ändert (zB ein Forum)?

Dank

+0

Sie können nicht steuern, ob der Client eine neue Anfrage sendet oder nicht (auch für die Zurück-Schaltfläche). – Repox

+0

Wenn Sie Caching-Header verwenden, wird die Seite zwischengespeichert, bis Sie auf die Schaltfläche zum Aktualisieren klicken, um eine Aktualisierung mit neuen Headern zu erzwingen. –

+0

@LawrenceCherone Wenn Sie eine neue Seite von Stackoverflow erreichen, erhalten Sie nicht die neueste Version (oder zumindest nicht später als 30 Sekunden). Wie machen sie also einen Cache, der dauert, wenn er nicht einmal mit dem Internet verbunden ist? – yehuda

Antwort

0

Ich habe endlich entdeckt, dass aus irgendeinem Grund einen Cache auf allen meinen Seiten, haben sie eine Zurück-Taste für immer, aber wenn die Seite aktualisiert wird, wird es immer noch eine neue vom Server holen.

Wierd, aber es funktioniert!

0

Der einzige Weg, dies zu wirklich zu tun ist, um die Client-Browser zu informieren, dass es die Webseite cachen können, die (manchmal) wird mehr senden einen anderen HTTP-Request des Browsers verhindern, wenn der Cache-Zeit nicht abgelaufen ist (Sehen Sie hier für mehr: http://en.wikipedia.org/wiki/Web_cache#Cache_control).

Allerdings, wenn der Inhalt der Seite dynamisch ist und ständig aktualisiert (wie Sie scheinen, wenn es ein Forum ist). Dann möchten Sie wahrscheinlich nicht zulassen, dass der Browser überhaupt zwischenspeichert.

+0

dann wie können Sie die Zurück-Taste drücken, wenn online auf Stackoverflow? – yehuda

Verwandte Themen