El IE6 se convirtió en una cucaracha gigante


Imaginaros que sale una nueva versión de Konqueror o Mozilla para Linux.

Imaginaros que lo instaláis y os dáis cuenta que en cuestiones de estándares es mucho peor que sus versiones anteriores. es más, está lleno de bugs en la gestión del protocolo HTTP/1.1.

Ahora imaginaros que decidís usar la versión anterior que iba mucho mejor. Pues desinstaláis el nuevo, reiniciáis el Linux (!!!), arrancáis el KDE y el Kmail deja de funcionar por problemas en el stack TCP/IP (!!!).

E imaginaros que es imposible arreglarlo a menos que instaléis de nuevo la versión llena de bugs de Konqueror o Mozilla…

[NUEVO:] Confirmado, el IE6 también falla en la negociación con el Apache (que es el canónico, respeta exactamente el estándar). El menos en la versión de Windows 98 SE. Mantiene mal las relaciones de ETag y fecha de modificación con la versión de la página en cache. Siempre presenta al servidor los valores de la primera vez que se ha bajado la página. Pobres usuarios de Windows, pobres desarrolladores de webs…

Tranquilos, no ha ocurrido eso, y es casi imposible que ocurra en Linux. Si ocurriese saldría hasta en Wired o News.com (y en la página principal de Microsoft).

Los titulares dirían:

La nueva versión del “navegador de Linux” deja sin correo a miles de empresas. Las pérdidas se calculan en billones de dólares.

Presisamente eso, y más, me ha ocurrido con el Internet Explorer 6 (versión en castellano).

El inicio de la pesadilla
Salió el IE6 y tenía muy buena crítica (de velocidad, es cierto, y de comptabilidad, mentira total). Yo, muy capullo, no me resistí y lo instalé.

Empiezo a usarlo un poco y la verdad es que va muy rápido pero… me dí cuenta que siempre recargaba la página de Bulma, aunque no haya sido modificada.

Como muchos saben, en Bulma tenemos unas funciones que controlan perfectamente el estado de la base de datos y le informan al navegador si tiene que racargarla o puede usar su versión de la cache local. Esto lo hace a través de dos técnicas:

  • La fecha de modificación (Last-modified en conjunción con la consulta del navegador (If-Modified-Since).
  • Una especie de firma de cada página que es un validador “oculto” (ETag) con su correspondiente consulta (If-None-Match).
  • Cada página tiene asociada un ETag y una fecha de modificación y es enviado por el navegador cada vez que se conecta a Bulma.

    Verificando el código hasta las 6 de la mañana
    Siguiendo con la historia… Me acojono pensando que era un bug de nuestro código, por lo que estuve hasta las 6 de la mañana “debugeando” el código, que al tratarse de negociacions HTTP con información en el cliente y en el servidor es bastante complicado. Tuve que hacerme unas funciones adicionales para guardar el estado de cada conexión en un fichero local en el servidor.

    Después de tantas horas probando cosas con el “Last-Modified”, “If-Modified-Since”, “If-None-Match”, “ETag” y los cookies del HTTP/1.1 y de Bulma para darme cuenta que el único culpable es el IE6.
    Lo hace todo mal y no respeta ni un ápice del HTTP.

    No sólo es que no respeta, por lo que diríamos que le faltan características del estándar, sino que las implementa, pero muy mal. En vez de enviar el último ETag y fecha de modificación de cada página (que son los únicos datos que podría enviar), el IE envía siempre los valores de la primera conexión a dicha página..

    Los señores que han implementado semejante aberración, parece que ni sabían de la existencia de un modelo llamada Máquina de Turing…
    Y menos aún leer e interpretar el RFC2616 del HTTP/1.1, especialmente la sección 13.3.

    Lo que mal empieza, mal acaba
    Bien, pienso, soy un inocente que tropieza mil veces con la misma piedra, ya se sabe que el software de MS en sus primeras versiones está lleno de bugs. Vuelvo atrás con la opción de des-instalar del propio IE6.

    Je… aquí termino la pesadilla y me dí cuenta que era una cucaracha de verdad.

    Después de reiniciar el ordenador (con brillos extraños en la pantalla, hasta lo avisa el sistema)… me jodió lo más importante que uso, el Outlook dejó de funcionar y sólo me daba un error: “Error en la conexión”. Y se acabo todo, no podía enviar ni recoger mis mensajes.

    Las cosas pueden ir aún peor

    Vale. Pienso: Quizás lo pueda arreglar reinstalando el Outlook (menos mal que todavía no tenemos que pagar por reinstalar, pero todo llega…), al menos mi navegador será otra vez compatible con el HTTP/1.0 al menos

    Iluso, no sólo no pasó eso, sino que el IE5.5 se empezó a comportar igual, con los mismos bugs del HTTP. Shit!!!
    Final infeliz
    Al final tuve que reinstalar el IE6 y convivir con esa cucaracha en mi escritorio.

    IMBÉ^H^H^H^HVaya con los de control de calidad del Microsoft (kiu ei le dicen…), ni siquiera han probado que funcione el HTTP y además cambia un DLL del sistema llena de bugs, que luego la deja por allí y sólo Bill III sabe cuál es.

    Al final debe ser todo un truco para que en octubre tenga que pagar mi actualización a Windows-LO-QUE-SE-LLAME-EL-MES-QUE-VIENE.

    Ni se os ocurra instalar el IE6, el Konqueror va mucho mejor, al menos respetando los estándares básicos.

    Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=858 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


    Deja una respuesta

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

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.