¿Puedo decir que "los datos de la sesión están disponibles en el cliente temporalmente para el período de navegación pero se almacenan permanentemente en el servidor"?

1

Mientras buscaba las diferencias entre cookie y sesión, encontré dos de las siguientes declaraciones

  1. los datos de la sesión se almacenan en el servidor, mientras que los datos de las cookies se almacenan en el cliente.
  2. datos de sesión disponibles para la ejecución del navegador, después de cerrar el navegador perderemos la información de la sesión. Enlace de fuente

Me parecieron un poco contradictorios. ¿Puedo decir que "los datos de la sesión están disponibles temporalmente en el cliente para el período de navegación pero se almacenan permanentemente en el servidor"?

    
pregunta Zen Pwning 15.10.2013 - 20:29
fuente

1 respuesta

1

No, no puedes. Bueno, podrías, por supuesto, si estuvieras tan inclinado, pero eso sería incorrecto. Los datos de sesión, del lado del servidor o de otro tipo, nunca deben ser permanentes. Creo que puede ser la sobrecarga absurda del término "sesión" lo que está causando confusión.

A saber:

  1. Una cookie de sesión es algo almacenado en el lado del cliente, y no tiene fecha de caducidad, pero caduca (y se elimina) cuando finaliza la sesión del navegador. (El navegador está cerrado, en otras palabras).

  2. Una cookie persistente tiene una fecha de caducidad incrustada que puede (de manera bastante divertida) hacer que caduque antes de que finalice la sesión del navegador, o más generalmente persistir en varias sesiones del navegador guardándola Disco para su reutilización.

  3. Estado de sesión (o sesiones del lado del servidor, o variables de sesión) son datos que se conservan durante un breve período de tiempo (por lo general, de 20 a 30 minutos deslizantes, de manera predeterminada) asociados. con una sesión de cliente (navegador), y referenciado por un ID de sesión que es la clave para el objeto de datos de sesión del lado del servidor y el valor para una cookie de sesión que el cliente envía con cada solicitud. Si el navegador no realiza una solicitud dentro del período de tiempo de espera (nuevamente, generalmente de 20 a 30 minutos de manera predeterminada) o incluso potencialmente antes, si la aplicación solicita que finalice la sesión para ese cliente, entonces esos datos se eliminarán del servidor. .

Los datos del estado de la sesión a menudo se almacenan en la memoria del servidor web y, por lo tanto, no se conservarán permanentemente, y en muchos casos ni siquiera sobrevivirá al reinicio del proceso del servidor web, incluso si las sesiones siguen siendo técnicamente válidas y vivas. .

Esto puede mitigarse utilizando un proceso de estado de sesión dedicado o almacenando el estado de sesión en una base de datos, pero en ningún caso se pretende que sea un almacén de datos permanente.

    
respondido por el Xander 15.10.2013 - 21:01
fuente

Lea otras preguntas en las etiquetas