Pregunta

Estoy tratando de construir una extensión para Firefox para obtener una página desde un servidor web y ponerla en la caché del navegador, de modo que cuando el usuario pide que enlazan, que va a ser recuperada directamente de la memoria caché, en lugar de pedir al servidor web original.

Pero estoy teniendo problemas con algunas páginas que ponen cabeceras para evitar el almacenamiento en caché, tales como "Cache-Control: que hay que revalidar", "Cache-Control: no-store", "Cache-Control: no-cache" y "Pragma: no-cache".

Estoy intentando sobreescribir los encabezados con setResponseHeader de nsIHttpChannel cuando llega la página. Pero las cabeceras no se cambian en la entrada de caché correspondiente. Entonces trato de setMetaDataElement nsICacheEntryDescriptor para cambiar la clave de metadatos "respuesta" en la cabeza. Aunque se cambian los datos, la página está siendo recuperada desde el servidor web original.

¿Alguien sabe cómo superar este problema y hacer que las páginas se cargan desde la caché de Firefox? ¿Es esto posible?

Gracias de antemano.

¿Fue útil?

Solución

Yo estaba usando XMLHttpRequest para recuperar la página, y el problema era que he cambiado las cabeceras de respuesta en la función "onreadystatechange" Hice.

Alternatevely, I utiliza el observador de "http-on-examinar-respuesta", y una alteración de los encabezados de respuesta en el método de "observar". El cambio está siendo llevado por el caché.

Tengo la visión por mirar el BetterCache código de extensión para Firefox.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top