Antecedentesalmacenamiento en caché de salida sigue agregando Cache-Control: no-cache, incluso cuando está desactivada
Un cliente está ejecutando nuestra aplicación web. a través de HTTPS y se están ejecutando en el error (bastante conocido) IE8 "el archivo no se puede escribir en la memoria caché" cuando intentan ver un archivo PDF/Excel/word porque la respuesta contiene la directiva HTTP Cache-Control:no-cache
. La cuestión es que no es nuestra aplicación (o su configuración) la que está agregando esta directiva.
Después de un poco de investigación descubrí que la función de almacenamiento en caché de resultados de página IIS7 también puede agregar este encabezado, por ejemplo
<caching enabled="false" enableKernelCache="false">
<profiles>
<add extension=".htm" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
</profiles>
</caching>
tendrá el efecto de la adición Cache-Control:no-cache, private
a las cabeceras de respuesta.
Mi pregunta
Pero el sorprendente (OMI) es que incluso cuando supuestamente desactivar la característica (ver en mi config fragmento anterior que enabled="false"
), las cabeceras de respuesta siguen siendo enviados con Cache-Control:no-cache, private
.
¿Estoy siendo estúpido al ser sorprendido por esto (creo que probablemente lo sea)?
Esto justo aquí debería ser la respuesta correcta. – Prescient
No, esto no es correcto. Probablemente lo haya conseguido porque tiene la sección '' definida en otro lugar. Cuando elimina el punto, esa extensión de agregado se vuelve inútil, lo que hace que la sección '' surta efecto. –
chenz
** ¡ESTO ES correcto! ** Acabo de probar esto "sabiendo" que no funcionaría porque, bueno, el ejemplo que IIS te da en la GUI para el Caché de resultados muestra que debes incluir el '.' antes de la extensión ... ** ¡Pero funcionó! ** Te lo aseguro, esta es la respuesta correcta para IIS 8 - mira aquí http://i66.tinypic.com/2e249af.png – Jimbo