_GRUPO de USUARIOS de INTERNET_

Presentan...


Cookies

¿galletas..? ¿galletas..?
argrr...    ¡galletas!

(Monstruo comedor de galletas - Plaza Sésamo)

¿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.