|
¿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.
Pero... ¿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.
Links útiles
MacPerl Q&A Dónde obtener MacPerl y punteros a otros recursos.
HTTP Cookie Spec Netscape describe el cookie HTTP.
Malcolm's Guide to Persistant Cookies Colección de links.
Matt's Script Archive Librería de Cookie HTTP para Perl.
Cookie Servers Avise aquí sobre los servers que seteen cookies.
Nice Cookie Article por Jasmin Consulting Corporation.
Jon Weiderspan's Macintosh WWW Development Guide
Web Developer Magazine
HTML Quick Reference Guide
RGB Hex Triplet Chart
Smiley's CGI/PERL page
Browsers, Viewers and HTML prep Resources
Tom Christiansens' Mox.Perl.COM
Hypertext Transfer Protocol--HTTP/1.0
The Perl FAQ Todo lo que ud. desea hacer, aquí está.
Cookie Monster Borra archivos cookie cuando ud. arranca su Mac.
|