IIS 6/7.x: No se refrescan los cambios en una página que se muestra a través de un iFrame

Imaginad que tenemos una página que se muestra a través de un iFrame y que estáis realizando cambios sobre esa página. Lo que querríamos es que se actualizase el contenido de la página cuando le demos a refrescar al navegador.

Ahora vamos a imaginar que no se actualiza, sin embargo, si realizamos los mismos cambios pero vemos la página directamente, sin usar el iFrame, los cambios aparecen nada más dar a refrescar la página en el navegador.

Lo que parece que ocurre es que estando dentro del iFrame, el navegador están enviando una fecha de modificación que no es la más actual, por lo que cuando el IIS recibe el entiende que el navegador tiene la última versión así que envía un 304 sin enviar contenido. En este artículo tienes más información sobre el estado: https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.HTML

 

Una forma de evitarlo es quitar el cacheo en la ruta dónde esté esa página.

IIS 6

En este artículo se indica cómo se deshabilita: https://support.microsoft.com/kb/247404

CSCRIPT ADSUTIL.VBS SET W3SVC/1/ROOT/NombreDirectorioVirtual/CacheControlCustom "no-cache"

IIS 7

En este artículo se indica cómo se deshabilita: https://www.iis.net/configreference/system.webserver/caching

 

Espero que os sirva de ayuda

- José Ortega Gutiérrez