1. INSTITUTO TECNOLÓGICO DEL NORTE
CURSO : Lenguaje de Programación II
PROFESOR: Haybert Escobedo Neyra.
ALUMNO: Sánchez Acosta Luis Miguel
CICLO : IV
CARRERA: Computación e Informática
TRUJILLO - PERÚ
2012
2. SESSION
¿Qué es un session?
Un session es una serie de comunicaciones entre un cliente y un servidor en la que
se realiza un intercambio de información. Por medio de un session se puede hacer el
seguimiento de un usuario a través de una aplicación.
¿Cuál es el tiempo de vida de un session?
El tiempo de vida de un session 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
¿Cómo poder hacer uso de los session?
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.
Ventajas de usar session:
Pueden almacenar grandes cantidades de datos fácilmente.
Ahorrar ancho de banda al pasar sólo una referencia a la sesión de
cada página cargada. Una “cookie” en el cliente tiene que pasar todos
sus datos.
Los datos se almacenan en el servidor web. Esto hace que las
sesiones seguras, porque los datos no pueden ser vistos o editados
por el cliente.
Desventajas de usar session:
Termina cuando se cierra el navegador a menos que haya
configurado JSP para alargar la vida sesiones de „cookie. No puede
durar para siempre.
3. Importancia de un Session:
Permite almacenar información que puede ser de utilidad durante la navegación de
un usuario por el sitio web. Mientras dure la sesión, la información estará disponible
para el código JSP cada vez que el usuario solicite una página. Algunos ejemplos de
información que puede resultar interesante guardar en sesión:
Si el usuario se ha autenticado o no
Identificador del usuario que se ha autenticado
Productos añadidos a un carro de la compra
Datos de facturación y de dirección para hacer un pedido
Esta información se guarda en el servidor, en un fichero temporal, por lo que sólo es
accesible desde el código JSP, pero no desde el navegador. Esto te permite poder
almacenar información privada sin correr el riesgo de que algún hacker la vea.
Cuando la sesión finaliza, el fichero se elimina y los datos se pierden, por lo que si
el usuario vuelve a acceder, se inicia una sesión nueva que no tiene nada que ver
con la anterior y, por tanto, habrá que volver a solicitarle los datos (usuario,
contraseña) o tendrá que volver a iniciar la compra seleccionando los productos.
El tiempo que dura la sesión realmente no es de 20 minutos. Este tiempo, que se
puede modificar por código, indica el tiempo que ha de pasar sin actividad del
usuario para que el servidor finalice la sesión; es decir, pasado este tiempo desde la
última petición del usuario, el servidor considera que ya no está navegando por el
sitio web, por lo que finaliza la sesión eliminando el fichero temporal.
Funcionamiento de un session
4. Diferencia entre session y cookies
La gran diferencia es que las sesiones se mantienen por un período de tiempo
determinado (por ejemplo, una hora), en el servidor, o bien, hasta que se cierre el
navegador; mientras que las cookies, siempre que sean aceptadas por el navegador,
se mantienen en el cliente (navegador del usuario), hasta que no sea eliminada
manualmente por el mismo.
Ejemplos:
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 una tipo sesión la información necesaria para saber que el
usuario se ha identificado correctamente.
5. COOKIES
¿Qué es un cookies?
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.
¿Cuál es el tiempo de vida de un cookies?
Tienen una duración limitada en el tiempo y que ayudan a personalizar los servicios
para los usuarios.
Gestión de Cookies:
El número de cookies almacenables es finito, por tanto, el agente de usuario
debe eliminar alguna cookie cuando ya no queda espacio para una nueva
(generalmente, se usa un algoritmo tipo “descartar la usada hace más
tiempo”).
Cuando vence la duración de una cookie, ésta se descarta. El navegador la
elimina.
Ventajas de usar un cookies:
Pueden durar tanto como el sitio web. Ellas seguirán ahí, incluso si el navegador
está cerrado o abierto.
Son muy útiles para “recordar” los inicios de sesión
Útiles para almacenar valores temporales de usuario. Por ejemplo, si un usuario
está navegando por una lista paginada de artículos, ordenados de cierta manera,
el ajuste de la clasificación se puede almacenar en una cookie.
Desventajas de usar un cookies:
Se almacenan en pequeños archivos dentro del ordenador de los usuarios.
Esto significa que el usuario puede manipularlas.
Sólo pueden almacenar una cantidad limitada de datos.
Deben pasar todos los datos al servidor web cada página cargada. Esta toma
de ancho de banda de hasta más.
6. Importancia de un cookies:
Es importante porque permite almacenar información durante la navegación del
usuario, pero con el fin de usarla en futuras conexiones (futuras sesiones), más que
en la misma sesión. Ejemplos de información que podría ser interesante guardarla
en la cookie:
Si el usuario ha marcado el check para recordar usuario y contraseña
El usuario y la contraseña introducidas por el usuario, para que cuando
vuelva a nuestro sitio web, se autentique automáticamente sin solicitar otra
vez usuario y contraseña
El idioma seleccionado por el usuario la última vez que accedió, para
mostrarle directamente la página en ese idioma y no solicitarle que elija el
idioma cada vez que entre.
El último producto que compró (si el sitio web es una tienda online) para
mostrarle ofertas de productos relacionados
Funcionamiento de un Cookies:
7. ¿Para qué usar Cookies si con las Sesiones se logra prácticamente lo mismo de forma más
rápida y más segura?
El problema que tienen las sesiones es que tienen un tiempo de expiración que no
puede ser modificado desde la creación de la misma, hay que modificarlo desde la
configuración del JSP.
Lo malo de esto es que todas las sesiones duraran el mismo tiempo, a diferencia de
las cookies que el tiempo de vida de la misma se configura al momento de crearla.
Por otro lado, si se desea usar sesiones hay que inicializarlas antes de empezar a
realizar cualquier otra cosa en el JSP y si a una página no se le avisó que empiece a
hacer uso de sesiones, las mismas no van a correr, por lo que la aplicación web no
va a poder acceder a la información de la misma, a diferencia de las cookies, donde
no hay que avisar nada, si existe la cookie, se lee.