La sesión es un estado de conversión entre el cliente y el servidor y puede consistir en múltiples solicitudes y respuestas entre el cliente y el servidor. Dado que HTTP y el servidor web no tienen estado, la única forma de mantener una sesión es cuando se pasa información única sobre la sesión (ID de sesión) entre el servidor y el cliente en cada solicitud y respuesta.
Hay varias formas a través de las cuales podemos proporcionar un identificador único en la solicitud y la respuesta.
- Autenticación de usuario : esta es la forma muy común en la que el usuario puede proporcionar credenciales de autenticación desde la página de inicio de sesión y luego podemos pasar la información de autenticación entre el servidor y el cliente para mantener la sesión. Este no es un método muy efectivo porque no funcionará si el mismo usuario ha iniciado sesión desde diferentes navegadores.
- Campo oculto HTML : podemos crear un campo oculto único en el HTML y cuando el usuario comienza a navegar, podemos establecer su valor exclusivo para el usuario y realizar un seguimiento de la sesión. Este método no se puede usar con enlaces porque necesita que se envíe el formulario cada vez que se realiza una solicitud del cliente al servidor con el campo oculto. Tampoco es seguro porque podemos obtener el valor del campo oculto de la fuente HTML y usarlo para hackear la sesión.
- Reescritura de URL : podemos agregar un parámetro identificador de sesión con cada solicitud y respuesta para realizar un seguimiento de la sesión. Esto es muy tedioso porque necesitamos hacer un seguimiento de este parámetro en cada respuesta y asegurarnos de que no entre en conflicto con otros parámetros.
- Cookies : las cookies son pequeñas piezas de información que envía el servidor web en el encabezado de respuesta y se almacena en las cookies del navegador. Cuando el cliente realiza una solicitud adicional, agrega la cookie al encabezado de la solicitud y podemos utilizarla para realizar un seguimiento de la sesión. Podemos mantener una sesión con cookies, pero si el cliente desactiva las cookies, entonces no funcionará.
- API de administración de sesión: la API de administración de sesión se basa en los métodos anteriores para el seguimiento de la sesión. Algunas de las principales desventajas de todos los métodos anteriores son: La mayoría de las veces no solo queremos hacer un seguimiento de la sesión, tenemos que almacenar algunos datos en la sesión que podemos usar en futuras solicitudes. Esto requerirá mucho esfuerzo si intentamos implementar esto. Todos los métodos anteriores no están completos en sí mismos, todos ellos no funcionarán en un escenario particular. Por lo tanto, necesitamos una solución que pueda utilizar estos métodos de seguimiento de sesión para proporcionar administración de sesión en todos los casos.
Para saber más con videos gratis visite: Sesión HTTP en Java Avanzado