|
¿Qué es un "Cookie"?
Sabido
es que el protocolo usado para pedir y recibir páginas en la Web
no es una conexión continua: requerimos algo del server, nos llega
-o no-,
y la conexión con el server se corta. Esto determina que no hay
manera
de salvar o conservar un determinado estado en la situación de
una conexión; si tan pronto como recibo la respuesta, oprimo un
botón
ordenando algo, el estado anterior es olvidado. Hay varios métodos
para
que esto pueda ser evitado. Uno consiste en un desarrollo específico
de
Netscape llamado "cookies".
Un "cookie" es un pequeño trozo de información
enviado por un server de
Web al browser de un usuario. Cuando Ud. visita un server que utiliza
el
desarrollo denominado Magic Cookie (MC), éste instruye al browser
de
su PC para crear un archivo Magic Cookie al que se lo suele nombrar como
cookies.txt o similar. En él, ingresa y queda una pequeña
cantidad de
información. Por ejemplo, dicho bloque de datos podría contener
un
identificador exclusivo para el usuario generado por el servidor, la fecha
y hora actual, la dirección IP del proveedor del servicio de acceso
a
Internet mediante el cual la PC del usuario se conecta a la red, o cualquier
otro grupo de datos que se desee. El browser que ha recibido dicho
cookie lo reenviará al server cada vez que ingrese a la página
HTML que
lo originó. Es importante tener en cuenta que el browser regresará
el
cookie únicamente al server que lo seteó. Esto significa
que el sitio que fijó
el cookie no tiene forma de conocer si su browser contiene otros cookies
y, en caso afirmativo, cuáles son los sites que los han seteado.
Repasemos, entonces: cuando un server envía un objeto HTTP a un
cliente, puede también mandar una pieza de información del
estado de
circunstancias de la conexión (state), que el cliente almacenará.
Incluída en
este "state object" hay una descripción del rango de
las URL para las que
dicho estado es válido. Cualquier futuro requerimiento HTTP hecho
por el
cliente que caiga en dicho rango incluira la devolución del texto
del "state
object" al server. Ese "state object" es el llamado cookie.
En suma, Magic Cookie es un mecanismo usado por aplicaciones del server,
como scripts CGI, para almacenar y recuperar información del lado
cliente
de la conexión de red. La adición de un "banco"
de estados simple y
duradero del lado cliente, extiende significativamente las capacidades
de las
aplicaciones cliente-servidor basadas en la WWW.
¿Para qué se usan?
A los cookies
se les encuentra gran cantidad de aplicaciones: es posible,
tras preguntar el nombre de quien accede a una página, ingresarlo
a un
cookie seteado en un directorio del browser del cliente. El día
en que dicho
usuario retorne, la información será usada para saludarlo
de manera
personalizada. O, a los visitantes que no deseen ver ninguna de las tan
comunes bandeletas publicitarias, se les ofrece desde el site optar por
tal
posibilidad, y de allí en adelante (hasta que el cookie expire)
deja de verlas.
(En sitios de noticias tipo ZD Net, el archivo Magic Cookie deja saber
al
server quién es Ud. en sus subsiguientes visitas, posibilitando
recorrer
páginas armadas a su propio gusto de lector). Es posible respaldar
un
sistema de ventas on-line usando cookies que conserven la información
de
lo que quiere comprar una persona: si alguien invierte largo rato revisando
un amplio stock de Discos Compactos, y repentinamente tiene que dejar
la
red, puede recuperar esos datos aun cuando regrese recién semanas
después.
Para ver una demostración de cómo actúa esto, eche
un vistazo a la Kid's
Personal Info Page Esta página permite a los chicos elegir sus
propias áreas
de interés. Luego, la aplicación crea una página
de información personali-
zada basada en su elección. Esto existe a nivel adultos, lo que
se puede
observar en Personal Excite Page y Microsoft NetworkPage.
Una situación particular se plantea al aplicar Magic Cookie al
seguimiento
de sitios de Web, ya que mucha gente considera invadida su privacidad
si
el diseñador de un sitio quiere ver qué le interesa. El
rastreo o seguimiento
del sitio puede mostrar al diseñador "puntos finales"
o "callejones y salida",
lugares a los que la gente llega para desaparecer al no encontrar "el"
link
interesante conque seguir enganchado. (Esta aplicación de los cookies
suele también dar cuentas más seguras de cuánta gente
ha pasado por cada
una de las páginas de un sitio).
Claro que un mal uso de Magic Cookie conlleva sus trastornos. Un servicio
de spamming -compañia que envía avisos por E-mail a diestra
y siniestra-
con acceso (desde adentro) a sitios de Web más o menos populares,
puede
usar información obtenida originalmente por MC para reunir y organizar
datos
de marketing o apuntar con propósitos publicitarios a usuarios
específicos.
Acerca de
la seguridad
Un cookie de HTTP no puede ser usado para conseguir datos de su disco
duro, ni para obtener su dirección de email o hurtar información
delicada
sobre su persona. En realidad no pueden conseguir nada que no fuera
puesto allí por el server. Para lograr eso es preciso usar otras
tecnologías.
Los servidores de Web que Ud. visite podrían aceptar aceptar su
número
de tarjeta de crédito o passwords que envíe a ese sitio,
y aunque pueden
poner esa información en el archivo cookie de su PC sin que Ud.
se entere,
todo está diseñado para que ningún sitio pueda acceder
a la información del
cookie depositado por otro sitio. Sus números de tarjeta de crédito
y
passwords no están ni más ni menos seguros que si los tipea
y los envía a
través de la red.
Tampoco debe olvidarse que los cookies son sólo texto, por lo que
no
pueden hacer nada por sí mismos. Nada que ver con Java o JS. Los
cookies son texto guardado en un archivo, y tienen limitaciones en cuanto
a su número y tamaño.No son un programa, como tampoco son
programas
los archivos HTML. Grabar en disco un cookie no hará nada a su
máquina.
Tampoco se puede contraer un virus de un cookie.
Para lo que un cookie de HTTP sí puede ser usado es, ya lo dijimos,
para
rastrear su itinerario cuando Ud. navega por un sitio en particular. Si
bien
este seguimiento de sitio puede ser hecho fácilmente sin usar cookies,
su
uso hace al tracking de los datos un poco más consistente.
Si no desea que un server seteee cookies puede lograrse un aviso previo:
por ejemplo, en la versión 3.0 de Netscape, seleccionar dentro
del menu
Preferences la opción "Alert me if send a cookie".
Si un cookie permanece residiendo en su sistema, puede borrarlo cuando
quiera. Basta con ubicar el archivo mencionado, editarlo y eliminar varias
líneas o todo su contenido.
Si el archivo cookie es bloqueado (por ejemplo, protegiéndolo contra
escritura cambiando su atributo), al cerrar Netscape los datos no podrán
trasladarse desde la RAM hasta el archivo cookies.txt .
El no aceptar cookies no traerá inconvenientes en la mayoría
de los sitios.
Sólo que, al no verlo, el server en cada oportunidad preguntará
por él,
asumiendo que Ud. es un nuevo visitante. O puede que algunos sitios -en
especial, de compras- Ud. no sea habilitado para recorrerlo a menos que
acepte el cookie.
¿Con cuáles browsers actúan?
La mayoría
de los usuarios de Internet utilizan Netscape, Mosaic o
Microsoft IE. Desde hace tiempo, estos tres browsers han estado dando
soporte al Cookie HTTP. Digital Equipment Corp tiene un script que
testeará su browser para ver si acepta un cookie. Quien no desee
realizar
otras pruebas adicionales puede ver directamente los resultados.
¿Por qué ese nombre?
Nos cuenta
Gerry Boyd que el término proviene del "monstruo de las
galletas" de Plaza Sésamo, y que ya en los mainframes de los
70 existía una
vieja versión que, en sistemas de tiempo compartido, colgaba la
terminal de
un usuario exhibiendo el mensaje "Quiero una galleta" ("I
want a cookie").
El usuario entonces estaba forzado a tipear una respuesta correcta, tal
como
"galleta" ("cookie"), "aquí tienes tu
galleta" ("here's a cookie") o expresiones
parecidas, hasta finalmente liberar su terminal.
Robert E. Maas relata lo siguiente: "Yo vi el COOKIE PUMA (y otros
animales) en el MIT-MC al final de los 70. En lugar de colgar la terminal
mandaba mensajes online, primero cada pocos minutos, luego más
rápido y
más rápido, como si estuviera demandando sus galletas. Para
terminar con
eso, Ud. debía enviar a PUMA un mensaje online conteniendo la palabra
COOKIE, -en algunos casos se tipeaba el comando de sistema: SEND
PUMA COOKIE- o simplemente podía esperar hasta que cumpliera su
ciclo, y eventualmente dijera que ahora no quería la galleta (tipo
"las uvas
están verdes": como no obtiene la galleta, entonces hace como
que no le
interesa).
¿Dónde encontrar Cookies?
El Cookie
Taste Test de Robert Brook ofrece un catálogo de páginas
con
cookies.
El sitio de David Ray The Dive usa cookies, y un método para registrarse
gratuítamente que sólo utiliza su nombre y aparentemente
efectúa algún
seguimiento sobre los usuarios de los últimos 30 días. Parece
usar cookies
en estrecha dependencia con Javascripts para obtener botones de control
Adelante-Atrás y otras prestaciones. Su generador para tarjeta
Oblique
estrategies es una buena combinación de cookies y Javascript.
El Netscape Store usa cookies para almacenar información en una
suerte
de canasta comercial.
Especificaciones
en los cookies
Un cookie se introduce al cliente mediante la inclusión del encabezamiento
Set-Cookie como parte de una respuesta de HTTP. Este mecanismo es
tíipicamente generado por un script CGI.
Hoy hablábamos de editar el archivo cookies.txt Este resumen nos
servirá
para interpretar lo que encontremos. Si se desea un análisis más
profundo
puede recurrirse a la publicación (en inglés) de Netscape
Cookie Specs
Encabezamientio
del Set-Cookie HTTP Response:
Set-Cookie: NAME=cualquiera; expires=FECHA; path=RUTA;
domain=NOMBRE_DE_DOMINIO; secure
NAME=el que
fuere.
Este es el
NOMBRE y contenido de sus datos. Ambos pueden tener
cualquier característica. Si, por ejemplo, usare el nombre 'Count'
y el contenido fuese un número que se incrementa cada vez que el
usuario carga la página, se vería como:
'Count=1'
expires=FECHA
Esta es la
fecha en que expirará el cookie en relación a GMT. Si no
fuera seteada, entonces el desaparecería cuando el usuario termina
su
sesión. Es necesario que respete la siguiente sintaxis:
'Wednesday, 09-Nov-1999 23:12:40 GMT'
path=RUTA
El atributo
path, si se lo especifica, dirá al browswer retornar el
cookie solamente si el browser requiere por lo menos una URL de
ese path. Esto signifioca que si se setea un cookie con
'path=/monkey' el cookie sólo será retornado en caso de
que el
browser requiera una URL en el path '/monkey' o más adelante,
como '/monkey/lovin'. Si no es especificado path, entonces el path
será automáticamente seteado al mismo path como el requerimiento
original. Si se quiere que un cookie sea enviado con cada
requerimiento a su server se indica la raíz de dicho server como
path.
Ej.: 'path=/'
domain=NOMBRE_DE
_DOMINIO
Dominio para
el cual el cookie será retornado. Necesita contener por
lo menos 2 puntos. Ej.: '.andy.com' Esto significaría que
'www.andy.com' es tan válido como 'dookie.andy.com'
Ej.: 'domain=.illuminatus.com'
secure
Si el cookie
está marcado secure sólo será transmitido estando
sobre
un servidor secure. Si no tiene un servidor secure, no ponga nada.
|