3/10/12

SESSION y COOKIES


SESSION
Introducción.-
Una sesión es una serie de comunicaciones entre un cliente y un servidor en la que se realiza un intercambio de información. Por medio de una sesión se puede hacer un seguimiento de un usuario a través de la aplicación. El tiempo de vida de una sesión comienza cuando un usuario se conecta por primera vez a un sitio web pero su finalización puede estar relacionada con tres circunstancias:
·         Cuando se abandona el sitio web.
·         Cuando se alcanza un tiempo de inactividad que es previamente establecido, en este caso la sesión es automáticamente eliminada. Si el usuario siguiera navegando se crearía una nueva sesión.
·         Se ha cerrado o reiniciado el servidor.

Una posible aplicación de las sesiones es en el comercio electrónico. En este caso una sesión permite ir eligiendo una serie de productos e irlos añadiendo a nuestro “carrito” y así hasta finalizar la compra. Sin el uso de sesiones no se podría hacer porque al ir navegando de una página a otra se iría perdiendo toda la información.
También se utilizan para la identificación de usuarios, en la que se deben de introducir un login y un password. Después de haber hecho esto el usuario tendrá una serie de permisos sobre las páginas que va a visitar, de tal forma que si un usuario intenta pasar a una página si haberse identificado, el sistema comprobará que no se ha identificado y sería redireccionado a la  página de identificación. Para poder realizarse estas operaciones es necesario almacenar en unas tipos sesión la información necesaria para saber que el usuario se ha identificado correctamente.
Para poder hacer uso de las sesiones en JSP hay que poner el atributo session de la directiva page a true, de esta forma se notifica al contenedor que la página interviene en un proceso que utiliza las sesiones del protocolo HTTP:
<%@page session=’true’%>
El manejo de las sesiones impide el intercambio de datos entre ellas ya que se trata información específica para cada usuario e incluso si se trata del mismo usuario. 




COOKIES
Introducción.-
Las cookies son pequeños bits de información textual, que un servidor web (o un contenedor de aplicaciones tal como Tomcat) envía a un navegador cliente (tal como firefox) para identificarlo; el navegador luego devuelve en su petición esa cookie (o cookies) cuando visita nuevamente ese sitio web. De esta manera el servidor, a través de una página jsp o servlet, lee las cookies que le envió previamente en una conexión anterior.

Esta técnica permite al cliente ciertas ventajas:

·         Identificar a un usuario durante una sesión de comercio electrónico:
Si alguna vez ha utilizado un carrito de compras (Shopping Cart), habrá notado que cuando selecciona un ítem, lo añade a su carrito. Dado que las conexiones HTTP se cierran después de que cada página se envía, cuando el usuario selecciona un nuevo ítem para su carrito, ¿cómo sabe el sistema de tienda virtual que ese usuario que acaba de conectar de nuevo ya tiene iniciada una compra con uno o mas item en su carrito?… las cookies.

·         Evitar la autentificación constantemente:
Muchos sitios web grandes, requieren un registro para utilizar sus servicios (Twitter, SlideShare, Facebook, Yahoo! Mail, etc), sería un grave inconveniente, que cada vez que el usuario realiza una acción (cambiar de página por ejemplo) se pregunte constantemente por el usuario y la contraseña a un usuario si ya se ha autentificado al ingresar por primera vez. Las cookies permiten evitar esto.

·         Personalizar un sitio:
iGoogle es un ejemplo perfecto de la personalización de un sitio. iGoogle, entre otras cosas, usa una cookie para “recordar” que widgets le agregaste, cuantas pestañas tienes, etc…

·         Publicidad personalizada:
Un motor de búsqueda, como Google, puede mantener una pista de las preferencias de un usuario a lo largo del tiempo, de esta forma, la publicidad que se le muestra a ese usuario, estará enfocada a sus preferencias de búsqueda.

·         ¿Y la seguridad?…
Las cookies no se “interpretan” o ejecutan en un sistema, por lo que no se puede insertar virus en ellas para comprometer la integridad del sistema. Los navegadores, generalmente sólo aceptan 20 cookies por sitio, además un navegador nunca poseerá más de 300 cookies en total, y cada cookie está limitada a un tamaño de 4 KB, así que no se pueden usar para llenar el disco duro de un cliente (especialmente con el tamaño de los discos duros modernos).
Sin embargo, aunque las cookies no presentan una amenaza a la seguridad, si pueden presentar una seria amenaza a la privacidad. Pero más que culpa de la cookie en sí, los problemas de privacidad radican en programadores con prácticas poco seguras.


El funcionamiento esquemático de las cookies es el siguiente:




Las cookies en Java son objetos de la clase Cookie que se encuentra en el paquete javax.servlet.http

Conviene recordar:

A)No utilizar caracteres tales como []()=,”"/?@:; o espacios en blanco.
B) Las cookies hay que enviarlas al cliente en la cabecera de la respuesta y por tanto es necesario no haber escrito absolutamente nada en el cuerpo del mensaje previamente.


No hay comentarios:

Publicar un comentario

trucos blogger