1138
Capítulo 26 Aplicaciones Web: parte 1
previa. Cuando el usuario envía el formulario en la nueva página Web, todos los datos del formulario (incluyendo
los campos
"hidden"
) se envían al manejador del formulario en el servidor Web. Con la reescritura de URLs, el
servidor Web incrusta la información de rastreo de sesión directamente en los URLs de los hipervínculos en los
que el usuario hace clic para enviar las subsiguientes peticiones al servidor Web.
26.7.1 Cookies
Las
cookies
proporcionan a los desarrolladores Web una herramienta para personalizar las páginas Web. Una
cookie es una pieza de datos que, por lo general, se almacena en un archivo de texto en la computadora del usua-
rio. Una cookie mantiene información acerca del cliente, durante y entre las sesiones del navegador. La primera
vez que un usuario visita el sitio Web, su computadora podría recibir una cookie; después, esta cookie se reactiva
cada vez que el usuario vuelve a visitar ese sitio. La información recolectada tiene el propósito de ser un registro
anónimo que contiene datos, los cuales se utilizan para personalizar las visitas futuras del usuario al sitio Web.
Por ejemplo, las cookies en una aplicación de compras podría almacenar identifi cadores únicos para los usuarios.
Cuando un usuario agregue elementos a un carrito de compras en línea, o cuando realice alguna otra tarea que
origine una petición al servidor Web, éste recibe una cookie del cliente, la cual contiene el identifi cador único del
usuario. Después, el servidor utiliza el identifi cador único para localizar el carrito de compras y realizar cualquier
procesamiento requerido.
Además de identifi car a los usuarios, las cookies también pueden indicar las preferencias de compra del usua-
rio. Cuando un servidor Web recibe una petición de un cliente, el servidor puede analizar la(s) cookie(s) que envió
al cliente durante las sesiones previas de comunicación, con lo cual puede identifi car las preferencias del cliente y
mostrar de inmediato productos que sean de su interés.
Cada interacción basada en HTTP entre un cliente y un servidor incluye un encabezado, el cual contiene
información sobre la petición (cuando la comunicación es del cliente al servidor) o sobre la respuesta (cuando la
comunicación es del servidor al cliente). Cuando una página recibe una petición, el encabezado incluye informa-
ción como el tipo de petición (por ejemplo,
GET
o
POST
) y cualquier cookie que se haya enviado anteriormente
del servidor, para almacenarse en el equipo cliente. Cuando el servidor formula su respuesta, la información del
encabezado contiene cualquier cookie que el servidor desee almacenar en la computadora cliente, junto con más
información, como el tipo MIME de la respuesta.
La
fecha de expiración
de una cookie determina la forma en que ésta permanecerá en la computadora del
cliente. Si no establecemos una fecha de expiración para la cookie, el navegador Web mantendrá la cookie mien-
tras dure la sesión de navegación. En caso contrario, el navegador Web mantendrá la cookie hasta que llegue la
fecha de expiración. Cuando el navegador solicita un recurso de un servidor Web, las cookies que el servidor Web
envió previamente al cliente se devuelven al servidor como parte de la petición formulada por el navegador. Las
cookies se eliminan cuando
expiran
.
Tip de portabilidad 26.1
Los clientes pueden deshabilitar las cookies en sus navegadores Web para tener más privacidad. Cuando esos clientes
utilicen aplicaciones Web que dependan de las cookies para mantener la información de estado, las aplicaciones no
se ejecutarán correctamente.
Uso de cookies para proporcionar recomendaciones de libros
La siguiente aplicación Web muestra cómo utilizar cookies. El ejemplo contiene dos páginas. En la primera
página (fi guras 26.20 y 26.22), los usuarios seleccionan un lenguaje de programación favorito de un grupo de
botones de opción y envían el formulario al servidor Web, para que éste lo procese. El servidor Web respon-
de creando una cookie que almacena el lenguaje seleccionado y el número ISBN para un libro recomendado sobre
ese tema. Después, el servidor despliega nuevos componentes en el navegador, que permiten al usuario seleccionar
otro lenguaje de programación favorito o ver la segunda página en nuestra aplicación (fi guras 26.23 y 26.24),
la cual enlista los libros recomendados que pertenezcan al (los) lenguaje(s) de programación que el usuario haya
seleccionado. Cuando el usuario hace clic en el hipervínculo, las cookies previamente almacenadas en el cliente se
leen y se utilizan para formar la lista de recomendaciones de libros.
El archivo JSP de la fi gura 26.20 contiene un
Grupo de botones de selección
(líneas 26 a 39) con las opcio-
nes
Java, C, C++, Visual Basic 2005
y
VisualC# 2005
. Recuerde que puede establecer los objetos
String
Mostrar
26_MAQ_CAP_26_Deitel.indd1138
5/8/084:15:36PM