Gestión de Sesiones en Internet Explorer

Gestión de Sesiones en Internet Explorer

By In Desarrollo, Estrategia On 09/05/2012


La plataforma Web fue concebida para realizar intercambios de información entre clientes y servidores mediante un esquema basado en peticiones y respuestas sin mantener una conexión latente. A esta modalidad en que cada petición es independiente de la anterior y de la siguiente se la conoce como comunicación sin persistencia de estados (stateless).

Las aplicaciones Web que requieren esquemas de autenticación y autorización utilizan mecanismos auxiliares para lograr el efecto de sesión en este entorno stateless. Varios Frameworks, considerados estándares en la industria, implementan el manejo de sesiones basados en tramas de información conocidos como “cookies” que son intercambiados entre el navegador y el servidor en cada petición.

La evolución constante de los navegadores de Internet, impulsados por la masificación de aplicaciones Web y la competencia existente entre los fabricantes, implica consideraciones para las aplicaciones Web en cuanto al comportamiento de las sesiones.

A continuación se describe el mecanismo de gestión y comportamiento de cada versión de Internet Explorer para las sesiones de aplicaciones Web.

Internet Explorer 6

Versión lanzada en agosto de 2001, implementa procesos individuales para cada ventana de explorador abierta desde el sistema operativo (Inicio->Programas->Internet Explorer). En este caso cada ventana gestiona en forma independiente las cookies de sesión por ser cookies persistidas en memoria y no en archivos.

Internet Explorer 6 comparte el mismo proceso, y por lo tanto la sesión, cuando es iniciado desde otra ventana ya sea mediante la opción de Archivo->Nueva ventana, abriendo un hiper-vínculo utilizando la opción de “Abrir en ventana nueva” del menú contextual, o bien mediante JavaScript (utilizando window.open).

Esta versión no posee pestañas, por lo que se comporta de una manera más esperada en cuanto al manejo de sesiones.

Microsoft, a partir del lanzamiento de nuevas versiones del Internet Explorer, recomienda la actualización de su versión 6 por las versiones 8 y 9, y tiene por objetivo cerrar el ciclo de la versión 6 exhortando a sus usuarios con iniciativas como “The Internet Explorer 6 Countdown

Internet Explorer 7

Versión lanzada en octubre de 2006. Aunque incorpora cambios a nivel de procesos, mantiene el esquema de procesos individuales para cada ventana, así mismo, mantenie el comportamiento de Internet Explorer 6 para las sesiones.

Esta versión introduce la navegación con pestañas, las cuales siempre comparten la sesión de la ventana que las origina.

Internet Explorer 8

Versión lanzada en marzo de 2009. Introduce cambios de gran impacto a nivel de procesos, el más importante para el presente análisis es el denominado “Frame Process Merging”, orientado a optimizar el uso de recursos a través de reutilización de procesos.

El comportamiento de las sesiones en la versión 8 es poco claro, debido a que la cantidad de procesos instanciados no tiene relación con las ventanas o pestañas abiertas puesto que es un aspecto gestionado internamente.

Para que el usuario no pierda el control de este aspecto tan importante, la versión 8 incluye una nueva opción a nivel de menú: Archivo->Nueva Sesión. Esta opción crea una nueva ventana que es independiente a nivel de proceso y en consecuencia de sesión, permitiendo entre otras cosas, que se pueda acceder a la misma aplicación desde ventanas diferentes y en sesiones independientes.

Existen tres comportamientos considerados como no esperados derivados de esta nueva arquitectura:

  • Iniciar una nueva ventana desde el sistema operativo no crea una instancia separada sino que comparte la sesión con ventanas existentes, esto se puede evitar iniciando el explorador desde línea de comando, incluyendo explícitamente el parámetro: “-NoFrameMerging”.
  • Una sesión puede persistir activa incluso después de cerrar la ventana del navegador, lo cual se manifiesta al re-abrir el navegador y acceder a la aplicación Web con una sesión activa.
  • Una nueva pestaña podría iniciar un nuevo proceso y por lo tanto no compartir la sesión de la ventana que la origina, esto ocurre en escenarios donde existe una cantidad considerable de pestañas (al menos 5).

Internet Explorer 9

Versión lanzada en marzo de 2011. No introduce cambios significativos en cuanto a la gestión de sesiones, sin embargo, el cambio en su interfaz de usuario oculta por defecto las opciones de menú que se desplegarán después de presionar la tecla Alt.

El comportamiento en lo que respecta  a gestión de sesiones se mantiene idéntico a la versión 8.

Conclusiones y recomendaciones

  1. El comportamiento de las sesiones de los usuarios varía en función de la versión de Internet Explorer que utilizan.
  2. En las versiones actuales de Internet Explorer (8 y 9) existe una opción de menú que permite al usuario la separación explícita de sesiones.
  3. La versión 6 está finalizando su ciclo de vida y no debería ser considerada como referencia de compatibilidad.

Referencias

Wikipedia – Internet Explorer

Session management within Internet Explorer 8.0

IE Blog – Session Cookies, sessionStorage, and IE8 or “How can I log into two webmail accounts at the same time?”

Clicking on the blue “e” in taskbar does not launch a new process in IE8

Opening a New Tab may launch a New Process with Internet Explorer 8.0


About the Author

eduardo.mendez