¿Alguno de los navegadores actualmente populares tiene problemas particulares de almacenamiento en caché * XMLHttpRequest respuestas que debo tener en cuenta?¿Qué navegadores tienen problemas para almacenar en caché las respuestas XMLHTTPRequest?
Me gustaría poder incluir consultas XMLHttpRequest en cada página como un método de carga dinámica de contenido (es decir, JSON) o comportamiento (como eval() ed Javascript) relevante para el tipo de página, pero quería hacer Asegúrese de que los recursos que recibe del servidor se puedan almacenar en caché, si el servidor envió los encabezados correctos.
Me preocupa leer this article which mentions que los navegadores como Firefox 1.1 no almacenan en caché ningún contenido obtenido a través de XMLHTTPRequest, y que siempre solicita que se envíen nuevos datos completamente (con Cache-Control y sin If-Modified-Since) independientemente de encabezados enviados por el servidor.
Obviamente, este artículo es muy antiguo, ni siquiera recuerdo un Firefox 1.1; ¿Cuáles son las consideraciones que debo hacer para los navegadores populares actuales y hay algún truco para cuando específicamente quiero respuestas en caché?
** Para aclarar mi pregunta, me refiero al caché del lado del cliente, donde el servidor emite información de frescura (en forma de una directiva Cache-Control: max-age o Expires:) y el navegador almacena una copia de la respuesta en su caché junto con una fecha de caducidad, de modo que las solicitudes futuras para el mismo recurso emitidas desde páginas subsiguientes se pueden satisfacer desde la memoria caché del navegador sin necesidad de ningún contacto con el servidor. Todos los navegadores principales hacen esto correctamente para la mayoría de los contenidos, pero he escuchado que Firefox no puede hacer esto para el contenido de XMLHttpRequest. Lo que estoy preguntando es si alguien sabe de casos en que alguno de los navegadores modernos no almacena respuestas en caché según la especificación al usar XMLHttpRequest. *
es mejor y más consistente para controlarlo en su JS. si no necesita actualizar, no consulte. – Javier
¿Qué quieres decir? ¿Podría dar un ejemplo? Me gustaría poder obtener algo del servidor, pero si el navegador lo tiene en su memoria caché de una página anterior y no está caducado, para evitar que provoque un viaje al servidor. Todavía quiero los datos, no puedo simplemente no consultar. – thomasrutter