2010-05-12 10 views

Respuesta

9

El cookie se utiliza principalmente para mantener un estado en el lado del cliente entre las solicitudes en un dominio y/o ruta de acceso específica. La sesión se usa principalmente para mantener algún estado en el lado del servidor entre las solicitudes en un dominio y/o ruta específicos.

la sesión es generalmente respaldado por una cookie. En PHP es la cookie con el nombre PHPSESSID y en JSP es la cookie con el nombre JSESSIONID. Ambos contienen un valor autogenuado largo y único.

El servidor tiene una correspondencia entre el valor de la cookie y todos los objetos de sesión adjuntos en la memoria. En cada solicitud, comprueba el valor de la cookie en el encabezado de la solicitud y revela los objetos de la sesión adjunta de la asignación utilizando el valor de la cookie como clave. En cada respuesta, escribe el valor de la cookie en el encabezado de respuesta. El cliente, a su vez, lo devuelve al encabezado de las solicitudes posteriores hasta que la cookie expira.

Con respecto a las autorizaciones/inicios de sesión, puede poner el objeto User conectado en la sesión del lado del servidor y verificar en cada solicitud si está allí y manejar en consecuencia. Al cerrar la sesión, simplemente elimina el objeto User de la sesión o invalida la sesión. En PHP puede acceder a la sesión por $_SESSION y en Java/JSP por HttpServletRequest#getSession().

El principio es el mismo en todos los demás lenguajes de programación web.

+1

Explican muy claramente @BalusC. Acerca de iniciar/cerrar sesión, generalmente es recomendable no colocar objetos (modelos) en la sesión, ya que esto puede provocar errores difíciles de encontrar. Por lo tanto, en su ejemplo, en lugar de almacenar el objeto Usuario, almacenaría la identificación del usuario y buscaría al Usuario desde allí. – berto77

Cuestiones relacionadas