Por motivos de rendimiento, quiero que algunas de mis páginas web utilicen recursos almacenados en caché para usar sin conexión (imágenes, CSS, etc.) pero no la página en caché, ya que el contenido se generará dinámicamente.Omitir la página actual desde la aplicación HTML5 sin conexión pero usar recursos almacenados en memoria caché
Una forma de hacer esto sería refactorizar mis páginas para que carguen el contenido dinámico a través de AJAX o buscando en LocalStorage. Los detalles pueden variar, pero en términos generales, algo así.
Si es posible, preferiría encontrar una manera de simplemente indicarle al navegador que use recursos almacenados en caché (de nuevo, imágenes, CSS, etc.) para la página pero que no almacene en caché el contenido HTML (generado dinámicamente) sí mismo.
¿Hay alguna manera de hacerlo con la aplicación sin conexión HTML5? Tengo la impresión de que la respuesta es "no" porque:
- Cualquier página que incluya el manifiesto se almacenará en caché, por lo que no puedo especificar los recursos almacenados en caché en la página.
- No hay forma de decirle a una página anterior "usar recursos sin conexión para esta otra página pero en realidad no almacenar en caché el HTML en esa página". Debe especificar la página en sí, lo que significa que el HTML se almacenará en caché.
¿Estoy equivocado al respecto? Parece que hay probablemente alguna manera difícil (o no tan complicada) de evitarlo. Ahora que lo he escrito, me pregunto si incluir la página explícitamente en la sección NETWORK
del manifiesto de la aplicación funcionará.
Oh crud, en realidad solo funciona así con el escenario de uso típico que ya estaba empleando. ¡Ahora no me siento tonto por no haber probado eso primero! – Trott
¿está seguro de que de esta manera la página no almacenada en caché usa los recursos en caché? No estoy muy seguro. esto funciona, pero creo que la página cargará los recursos del servidor ... – pkyeck
@pkyeck la aplicación utilizará los recursos almacenados en caché siempre que esté disponible. Para obtener el último contenido, deberá modificar el manifiesto o borrar la caché. Una buena técnica es agregar MD5 a su manifiesto y escribir el valor en el archivo de manifiesto para que cuando mi manifiesto cambie el valor de MD5 cambie lo que se escribe en el archivo activando una actualización de caché. Esto se hace por el lado del servidor por cierto. – gotomanners