En la interacción persona-ordenador, la gestión de la sesión es el proceso de seguimiento de la actividad de un usuario a través de las sesiones de interacción con el sistema informático.
Las tareas típicas de gestión de la sesión en un entorno de escritorio incluyen el seguimiento de las aplicaciones que están abiertas y los documentos que cada aplicación ha abierto, de modo que el mismo estado puede ser restaurado cuando el usuario cierra la sesión y se conecta más tarde. En el caso de un sitio web, la gestión de la sesión puede consistir en pedir al usuario que vuelva a conectarse si la sesión ha caducado (es decir, si ha transcurrido un tiempo determinado sin actividad por parte del usuario). También se utiliza para almacenar información en el lado del servidor entre las solicitudes HTTP.
Gestión de sesiones de escritorioEditar
Un gestor de sesiones de escritorio es un programa que puede guardar y restaurar las sesiones de escritorio. Una sesión de escritorio son todas las ventanas que se ejecutan actualmente y su contenido actual. La gestión de sesiones en los sistemas basados en Linux la proporciona el gestor de sesiones X. En los sistemas Microsoft Windows, la gestión de la sesión es proporcionada por el subsistema del gestor de sesiones (smss.exe); la funcionalidad de la sesión del usuario puede ser ampliada por aplicaciones de terceros como twinsplay.
La gestión de la sesión es particularmente útil en un navegador web donde un usuario puede guardar todas las páginas abiertas y la configuración y restaurarlas en una fecha posterior o en un equipo diferente (véase la portabilidad de datos).
Para ayudar a recuperarse de un fallo del sistema o de la aplicación, las páginas y la configuración también se pueden restaurar en la próxima ejecución. Google Chrome, Mozilla Firefox, Internet Explorer, OmniWeb y Opera son ejemplos de navegadores web que admiten la gestión de sesiones. La gestión de la sesión a menudo se gestiona mediante la aplicación de cookies.
Gestión de la sesión del servidor webEditar
El Protocolo de Transferencia de Texto (HTTP) no tiene estado: un ordenador cliente que ejecuta un navegador web debe establecer una nueva conexión de red del Protocolo de Control de Transmisión (TCP) con el servidor web con cada nueva solicitud HTTP GET o POST. Por lo tanto, el servidor web no puede confiar en una conexión de red TCP establecida durante más tiempo que una sola operación HTTP GET o POST. La gestión de sesiones es la técnica utilizada por el desarrollador web para hacer que el protocolo HTTP sin estado soporte el estado de la sesión. Por ejemplo, una vez que un usuario se ha autenticado en el servidor web, la siguiente petición HTTP del usuario (GET o POST) no debe hacer que el servidor web le pida de nuevo la cuenta y la contraseña del usuario. Para una discusión de los métodos usados para lograr esto, vea HTTP cookie y Session ID
En situaciones donde múltiples servidores web deben compartir el conocimiento del estado de la sesión (como es típico en un ambiente de cluster) la información de la sesión debe ser compartida entre los nodos del cluster que están corriendo el software del servidor web. Los métodos para compartir el estado de la sesión entre los nodos de un clúster incluyen: la multidifusión de la información de la sesión a los nodos miembros (véase JGroups para un ejemplo de esta técnica), compartir la información de la sesión con un nodo asociado utilizando la memoria compartida distribuida o la virtualización de la memoria, compartir la información de la sesión entre los nodos utilizando sockets de red, almacenar la información de la sesión en un sistema de archivos compartido, como un sistema de archivos distribuido o un sistema de archivos global, o almacenar la información de la sesión fuera del clúster en una base de datos.
Si la información de sesión se considera transitoria, datos volátiles que no se requieren para el no repudio de las transacciones y no contiene datos que están sujetos a la auditoría de cumplimiento (en los EE.UU., por ejemplo, ver la Ley de Portabilidad y Responsabilidad del Seguro Médico y la Ley Sarbanes-Oxley para los ejemplos de dos leyes que requieren la auditoría de cumplimiento), entonces cualquier método de almacenamiento de información de sesión puede ser utilizado. Sin embargo, si la información de la sesión está sujeta al cumplimiento de la auditoría, se debe considerar el método utilizado para el almacenamiento de la sesión, la replicación y la agrupación.
En una arquitectura orientada al servicio, los mensajes del Protocolo Simple de Acceso a Objetos o SOAP construidos con mensajes del Lenguaje de Marcado Extensible (XML) pueden ser utilizados por las aplicaciones de los consumidores para hacer que los servidores web creen sesiones.
Gestión de sesiones sobre SMSEdit
Así como HTTP es un protocolo sin estado, también lo es SMS. Cuando el SMS se hizo interoperable entre redes rivales en 1999, y la mensajería de texto comenzó su ascenso para convertirse en una forma de comunicación global omnipresente, varias empresas se interesaron en utilizar el canal SMS con fines comerciales. Los primeros servicios no requerían la gestión de la sesión, ya que sólo eran comunicaciones unidireccionales (por ejemplo, en el año 2000, el primer servicio de noticias por móvil se prestó a través de SMS en Finlandia). En la actualidad, estas aplicaciones se denominan mensajería de aplicación a par (A2P), a diferencia de la mensajería de par a par (P2P). El desarrollo de aplicaciones empresariales interactivas requería la gestión de la sesión, pero como el SMS es un protocolo sin estado, tal como lo definen las normas GSM, las primeras implementaciones se controlaban del lado del cliente haciendo que los usuarios finales introdujeran manualmente los comandos y los identificadores del servicio.