Problemas al descargar archivos desde IIS 6.0 con Internet Explorer

Este es un tema que me traía de cabeza durante varios días y que no lograba solucionar.


Resulta que hemos colocado una aplicación Web en un servidor Windows 2003 de un cliente. En el directorio raíz de la aplicaicón había un par de archivos .exe que estaban ahí para ser descargados desde un enlace directo. Al intentar descargarlos desde Internet Explorer se quedaba el diálogo «flipado» mientras ponía «Obteniendo información del archivo…», y la descarga no comenzaba jamás.


La configuración del servidor no tenía nada raro. Sólo lo habitual en un IIS, así que no encontraba explicación. Además ocurría en TODOS los IE y en todas sus versiones (incluyendo la última que acaba de salir, la 7), así que no era un problema puntual por un index.dat corrupto o cosas típivcas similares. Un verdadero misterio.


El misterio aumentaba cuando veías que con otros navegadores (por ejemplo Firefox) los archivos bajaban sin problemas y se guardaban. Incluso si veías el tráfico que se generaba con un monitor de tráfico, lo cierto es que el archivo sí se estaba descargando por detrás pero IE parecía no enterarse y se quedaba colgado hasta que unos segundos más tarde daba un error.  !??!!


Probé a sustituirlos por ZIPs e incluso probé con otros tipos de archivos (PDF, DOC y demás) y no había manera. Con IE no bajaba ningún archivo y con Firefox sí :-?. Lo único que se conseguia descargar con Explorer eran páginas HTML, gráficos y páginas ASPX. Un misterio ya que no había motivo alguno. Incluso revisé los tipos MIME y estas cosas, pero nada.


La solución


Sorprendentemente el problema estaba en las cabeceras HTTP que enviaba el servidor. resulta que tenía activada la caducidad inmediata de contenidos para que no se hiciese caché de los elementos de la aplicación:



El caso es que, por lo visto, IE tiene un «bug» que hace que cuando recibe estas cabeceras para no almacenar en caché los archivos tampoco los guarda al disco duro. Por ese motivo no funcionaba. El caso es que, sólo con desmarcar esta opción, automáticamente empezaó a funcionar la descarga de todo tipo de archivos.


Como seguía queriendo que la caché funcionase para el resto de elementos, lo único que hice fue crear una carpeta para las descargas y desactivar la caducidad de contenido en ésta, dejándola activada en el resto del sitio.


En fin, que podía haber estado toda la vida y no encontrar el fallo. Espero que esto le disminuya la angustia al que lo lea si llega aquí haciendo una búsqueda sobre este asunto 🙂

Sin categoría

16 thoughts on “Problemas al descargar archivos desde IIS 6.0 con Internet Explorer

  1. Muchas gracias Jose Manuel, tu comentario me ha sido de gran ayuda para resolver unos cuantos problemas que tenia en la descarga de archivos. En mi caso el problema era con las cabeceras HTTP que utilizaba para eliminar la cache como por ejemplo (Cache-Control:no-cache, Pragma:no-cache, Expires:0). Quitando estas cabeceras se me ha solucionado el problema.

  2. Muchas gracias José Manuel te aseguro que me has salvado la vida! teniamos un problema en la descarga de documentos y generar un excel. De parte de mis compañeros y mia. . . MUCHAS GRACIAS!

  3. hola mi nombre es alan ami tambien me pasa llo mismo pero cxomo no se mucho de computadoras me podrias deciir en que lugar encuentro la cabeceras de http ya que no se porfavor mi correo es lounk33@hotmail.com ayudame quien sepa porfavor

  4. Alan:

    En el post ya se indica en dónde está el ajuste para no enviar la cabecera HTTP que instruye al navegador para hacer caché. Es la captura que aparece.

    Abres el complemento de administración de IIS, te vas a las propiedades del sitio que te está dando problemas (botón derecho sobre el nodo del sitio y «Propiedades»), y en la pestaña «Enacebazados HTTP» que hay y que es la que se muestra arriba, desmarcas la casilla en cuestión. ¡Listo!

    Saludos

    JM.

  5. se que no me vas ayudar por que soy un tonto pero no te entiendo me lo puedes explicar con imagenes como hacer lo es que no se nada de computadoras por favor nose como hacerle para poder reparar mi problema

  6. Hola de nuevo: el post es esto que has leído antes, es este artículo, vamos…

    A ver, la cosa es muy fácil, vas a Inicio·Panel de control·Herramientas administrativas·Administrador de Internet Information Services (IIS)

    Una vez en esa ventana te sale la consola de administración de tu servidor IIS. En la izquierda hay un arbol, lo despliegas y verás que pone «Sitios Web». Pulsas encima, buscas el sitio que te está danod problemas y haces lo que te digo en el comentario anterior:

    botón derecho sobre el nodo del sitio y «Propiedades», y en la pestaña «Enacebazados HTTP» que hay y que es la que se muestra arriba, desmarcas la casilla en cuestión. ¡Listo!

    Si con esto no lo das hecho, lo siento, pero no te puedo ayudar más.

    Una curiosidad: si no sabes nada de nada de ordenadores ¿cómo es que tienes que arreglar este problema con las cabeceras???

    Saludos

    JM.

  7. es que eso es lo que me ocurre pero como nose nada de eso ya que no baja ndad y se queda suspendido y no descarga nada encontre la Herramientas administrativas pero no encontre nada de Administrador de Internet Information Services (IIS) encontre una que dice Administración de equipos y servicios de componentes jijijiji que lastima que no se nada de eso

  8. Alan lo que te pasa es lo siguiente: si no te aparece Internet Information Services (IIS) es por que no lo tienes instaldo en tu computador eso es muy facil de adicionar, en el panel de control anada a «agregar y Quitar programas» ahi escoje la opcion a tu izquierda q dice agregar nuevos componentes, te saldra una ventana con una lista de todos los componentes del windows, en esa lista busca la casilla el Internet Information Services (IIS) la habilitas y le das en siguiente, te va a pedir que ingreses el cd de instalacion del windows, deberas hacerlo caso contrario no lo podras agregar a tu window. Una vez q ingreses el cd se empieza a instalar solo, y luego haces los apsos q te indicaron arriba.

  9. Alan, lo que me parece es que tú eres un usuario que quiere hacer descargas y no puede por alguna razón X desde su explorador, este post es para desarrolladores de páginas web que quieren implementar opciones de descarga en sus páginas y no para usuarios.

    Saludos.

  10. Hola, lo que quiero hacer es publicar una aplicacion desde un servidor con Click Once, y cuando quiero descargar me marca un error, intente eso de las cabeceras que mencionas, pero simplemente no me permite descargar la aplicacion, alguna sugerencia???

  11. tengo el mismo problema que narciso, el problema es que el IIS con windows 2003 no deja descargar los archivos .msp, y no tengo la menor idea donde decirle al IIS que si lo permita.

  12. hola…. tengo un problema.. necesito agregar un componente de windows server 2003, tal componente no aparece en la lista de windows (asp.net)…. Sin embargo, activo las casillas que necesito agregar o instalar en el servidor, inserto el cd de windows y no consigue los .exe para poderlos instalar….

    alguien me puede ayudar????

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *