2012-06-08 16 views
7

¿Puede alguien explicarme cómo configurar un caché para mi página que si el usuario pulsa el botón Atrás y está fuera de línea o algo, entonces todavía verá la página anterior como en SO y la mayoría sitios.Cómo almacenar en caché solo para el botón Atrás

Pero, ¿cómo puedo forzar que cuando se envíe una nueva solicitud HTTP, busque una nueva ya que el contenido cambia por minutos (es decir, un foro)?

Gracias

+0

No puede controlar si el cliente envía una nueva solicitud o no (incluso para el botón Atrás). – Repox

+0

Si usa encabezados de almacenamiento en caché, almacenará en caché la página hasta que haga clic en el botón de actualización de forzar una actualización con nuevos encabezados. –

+0

@LawrenceCherone si accedes a una nueva página de Stackoverflow no obtienes la última versión (o al menos no más tarde de 30 segundos). Entonces, ¿cómo hacen un caché que dura cuando ni siquiera está conectado a internet? – yehuda

Respuesta

0

Finalmente descubrí que por alguna razón poner un caché en todas mis páginas, les permitirá tener un botón de retroceso para siempre; sin embargo, cuando la página se actualice, aún buscará una nueva desde el servidor.

¡Qué extraño, pero funciona!

0

La única manera de hacer realidad este es informar al navegador del cliente que puede almacenar en caché la página web, que (a veces) impedir que el navegador de enviar otra solicitud HTTP si no ha transcurrido el tiempo de caché (ver aquí para más información: http://en.wikipedia.org/wiki/Web_cache#Cache_control).

Sin embargo, si el contenido de la página es dinámico y continuamente refrescante (como parece implicar si se trata de un foro). Entonces probablemente no desee permitir que el navegador guarde en caché.

+0

, ¿cómo puede presionar el botón Atrás cuando está en línea en Stackoverflow? – yehuda

Cuestiones relacionadas