Pregunta

Recientemente estaba cavando sobre las sesiones de Cookieless, vine a un artículo que dice que cada vez que se crea la sesión en el servidor, su identificación se almacena en las cookies, en la máquina del cliente, se pensaba en mi universidad que las sesiones se almacenan en El servidor, y si el SessionId está en cookies y las cookies se almacenan en la máquina de los clientes localmente, ¿cómo se puede decir que la sesión se almacena en el servidor, es ese derecho, que las sesiones se almacenan en el servidor? Si es así, ¿cuál es el concepto de sesión de Cookieless? ¿Alguien puede explicarme?

¿Fue útil?

Solución

El estado de la sesión se almacena (casi siempre) en el servidor, y se identifica por un número aleatorio, el token de sesión.

Ese token debe ser almacenado por el cliente y enviado al servidor junto con sus solicitudes HTTP (para que el servidor pueda recordar que lo ha visto antes y asociar la sesión a la solicitud).

¿Cómo se puede decir que la sesión se almacena en el servidor, es ese correcto, que las sesiones se almacenan en el servidor?

Solo el token de sesión se almacena en el cliente, y dado que es un número aleatorio, no contiene ninguna información útil en sí misma. Solo se vuelve valioso junto con los datos almacenados en el servidor.

En caso afirmativo, ¿cuál es el concepto de sesión de Cookieless?

La forma más fácil de almacenar el token es usar cookies. Para eso se inventaron las galletas. Las alternativas están entregando la cookie de un lado a otro utilizando variables de forma oculta o como parte de la URL.

Otros consejos

La sesión se almacena en el servidor. Cada sesión asociada con ID (el proveedor de estado de sesión más simple en ASP.NET es solo un diccionario en memoria con IDS como claves). Esta identificación también se almacena en la cookie del cliente, pero en el caso de las sesiones de Cookiels, la identificación se almacena en la URL (ejemplo).

Piense en la ID de sesión como una clave en una tabla y el estado de la sesión como el valor. Solo la clave se envía a los clientes, no al valor.

En el caso de ASP.NET, el estado de la sesión en sí es un diccionario que contiene pares de clave / valor.

Si está utilizando el proveedor de sesión de servidor SQL estándar, se llama a la tabla que mencioné anteriormente ASPStateTempSessions. SessionId es el PK y el serializado Dictionary se almacena en el SessionItemShort o SessionItemLong columna.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top