Cookie (informática)

El anglicismocookie, usado tambiéngalletaogalleta informática, es un término que hace referencia a un pequeño archivo de texto emitido por un sitio web y almacenada en el navegador del usuario, el cual contiene información sobre la actividad del usuario en el mismo sitio web, de manera que el sitio web puede consultar la actividad previa del usuario en dicho sitio web.
Sus principales funciones son:
Originalmente, solo podían ser almacenadas por petición de un sitio web desde el servidor, pero el navegadorNetscapedio a su lenguajeJavascriptla capacidad de introducirlas directamente, sin necesidad de solicitar el almacenamiento en el navegador al usuario. En un principio, debido a errores del navegador, esto dio algunos problemas de seguridad, pues al no estar preparados los navegadores para gestionar adecuadamente este tipo de información, las cookies se podían usar con fines de espionaje o de infectar dispositivos con malware. Lascookiespueden ser borradas, aceptadas, ignoradas o bloqueadas.
Lascookiesmágicas fueron ya usadas en informática cuando el programadorLou Montullituvo la idea de utilizarlas en las comunicaciones web en junio de 1994.​ En ese momento era un empleado deNetscape Communications, que estaba desarrollando una aplicación decomercio electrónicoparaMCI.Vint CerfyJohn Klensinrepresentaban a MCI en las discusiones técnicas con Netscape Communications. Como no querían que los servidores de MCI tuvieran que retener los estados transaccionales parciales, pidieron a Netscape que encontrase una forma de guardar esos estados en el ordenador de cada usuario. Lascookiesofrecían una solución al problema de implementar de forma fiable un carrito de compras virtual.​​
Junto con John Giannandrea, Montulli escribió la especificación inicial deNetscapepara lascookiesese mismo año. La versión 0.9beta delMosaic de Netscape, publicada el 13 de octubre de 1994,​​ soportabacookies. El primer uso de lascookies(fuera del laboratorio) fue validar si los visitantes del sitio web de Netscape ya habían visitado anteriormente el sitio. Montulli solicitó una patente para la tecnología de cookies en 1995, y se le concedió en 1998. El uso decookiesfue integrado en Internet Explorer en la versión 2, publicada en octubre de 1995.​
La introducción de lascookiesno era ampliamente conocida por el público en ese momento. En particular, lascookiesse aceptaban por defecto y no se notificaba a los usuarios de la presencia de las mismas. El público en general se enteró de ellas después de que elFinancial Timespublicase un artículo sobre lascookiesel 12 de febrero de 1996.​ Ese mismo año lascookiesrecibieron un montón de atención mediática, especialmente por sus implicaciones potenciales en materia de privacidad. Lascookiesse debatieron en dos audiencias de la Comisión Federal de Comercio de los EE. UU. en 1996 y en 1997.
El desarrollo de la especificación formal de lascookiesya estaba en marcha. En particular, las primeras discusiones acerca de una especificación formal empezaron en abril de 1995 en la lista de distribución www-talk. Se formó un grupo de trabajo especial dentro delIETF. Dos propuestas alternativas para introducir estado en las transacciones HTTP habían sido presentadas porBrian Behlendorfy David Kristol respectivamente, pero el grupo, liderado por el mismo Kristol y Aron Afatsuom, pronto decidió usar la especificación de Netscape como punto de partida. En febrero de 1996, el grupo de trabajo identificó a lascookiesde terceros como una importante amenaza a la privacidad. La especificación producida por el grupo se publicó finalmente como elRFC 2109en febrero de 1997. En él se especifica que lascookiesde terceros no deberían permitirse o como mínimo estar desactivadas por defecto.
En ese momento, empresas de publicidad ya estaban usandocookiesde terceros. La recomendación de las mismas introducida en el RTFC 2109 no fue seguida ni por Netscape ni por Internet Explorer.
ElRFC 2109fue reemplazado por elRFC 2965en octubre de 2000. La especificación definitiva para lascookiescomo se usan actualmente fue publicada en elRFC 6265en abril de 2011.
Lascookiesson utilizadas habitualmente por los servidores de aplicaciones para diferenciar usuarios y para actuar de diferente forma dependiendo de estos. Lascookiesse inventaron para ser utilizadas en un código virtual, que actúa como dispositivo virtual en el que el usuario va "utilizando" los elementos que adquiere, de forma que los  puedan utilizar para navegar en Internet en el sitio de su preferencia donde se muestran los objetos a usar y añadirlos a  la " cesta de instalación"en cualquier momento que lo necesite. Lascookiespermiten que el contenido de la "cesta de instalación"dependa de las acciones del usuario.
Un uso de lascookieses identificarse en un sitio web que sean privados o default protegidos. el usuario normalmente se identifican introduciendo sus claves en una página de validación; lascookiespermiten al servidor saber que el usuario ya está validado, y por lo tanto se le puede permitir acceder a servicios o realizar operaciones que están restringidas a todos los usuarios no identificados y como n diferentes dispositivos al acreditado y vinculado por el usuario.
Otros sitios web utilizan lascookiespara personalizar su aspecto según las preferencias del usuario. Los sitios que requieren identificación en el  menú de inicio.el idioma  exclusivo del usuario es el español.ys que es de la regio de donde proviene la señal Wifi.la personalización incluye tanto presentación como funcionalidad. Por ejemplo, las páginas deGooglepermiten a los usuarios identificados elegir un estilo de presentación a su gusto; el motor de búsqueda dechromepermite a los usuarios (identificados) decidir cuántos resultados de búsqueda quieren ver en cada página.
Lascookiesse utilizan también para realizar seguimientos de usuarios a lo largo de un sitio web. Lascookiesde terceros y los corregir errores en servidores web que se explican no  permiten el seguimiento entre diferentes sitios. El seguimiento en un mismo sitio normalmente se hace con la intenciónes de monetizar el contenido, mientras que por parte de las compañías de publicidad, entienden y priorizan la ayuda con un estímulo monetario .que luego se usarán para orientar campañas publicitarias.
Técnicamente, lascookiesson trozos de datos arbitrarios definidos por elservidor weby enviados al navegador. El navegador los devuelve al servidor sin modificar, reflejando así unestado(memoria de eventos anteriores) en las transacciones HTTP, que de otra manera serían independientes de ese estado.
Sin lascookies, cada petición de unapágina webo un componente de una página web sería un evento aislado, sin ninguna relación con el resto de peticiones de otras páginas del mismo sitio. Pero devolviendo unacookieal servidor web, el navegador proporciona al servidor un medio para relacionar la solicitud de la página actual con solicitudes de páginas anteriores. Además de ser definidas por un servidor web, lascookiestambién pueden ser definidas por unscripten un lenguaje comoJavaScript, si este está soportado y habilitado en elnavegador web.
Las especificaciones decookies​​ sugieren que los navegadores deben soportar un número mínimo decookieso una cantidad mínima de memoria para almacenarlas. En concreto, se espera que un navegador sea capaz de almacenar al menos 300 cookies de 4 kilobytes cada una y al menos 20cookiespor servidor odominio.
El servidor que establece lacookiepuede especificar una fecha de borrado, en cuyo caso lacookieserá borrada en esa fecha. Un sitio de compras podría querer ayudar a clientes potenciales recordando las cosas que había en su cesta de la compra, incluso si cierran el navegador sin realizar la compra y vuelven más tarde, para evitar que tengan que buscar los productos de nuevo. En ese caso, el servidor crearía unacookiecon fecha de borrado según el deseo del diseñador del sitio web. Si no se define una fecha de borrado, lacookiees borrada cuando el usuario cierra su navegador. Por lo tanto, definir una fecha de borrado es una manera de hacer que lacookiesobreviva entre sesiones. Por esta razón, lascookiescon fecha de borrado se llamanpersistentes.
Desde su introducción en Internet han circulado ideas equivocadas acerca de lascookies.​​ En 2005 Júpiter Research publicó los resultados de un estudio,​ según el cual un importante porcentaje de entrevistados creían cierta alguna de las siguientes afirmaciones:
En realidad, lascookiesson solo datos, no código, luego no pueden borrar ni leer información del ordenador de los usuarios.​ Sin embargo, lascookiespermiten detectar las páginas visitadas por un usuario en un sitio determinado o conjunto de sitios. Esta información puede ser recopilada en unperfilde usuario. Estos perfiles son habitualmente anónimos, es decir, no contienen información personal del usuario (nombre, dirección, etc). De hecho, no pueden contenerla a menos que el propio usuario la haya comunicado a alguno de los sitios visitados. Pero aunque anónimos, estos perfiles han sido objeto de algunas preocupaciones relativas a la privacidad.
Según el mismo informe, un gran porcentaje de los usuarios de Internet no saben cómo borrar lascookies.
La mayor parte de los navegadores modernos soportan lascookies. Sin embargo, un usuario puede normalmente elegir si lascookiesdeberían ser utilizadas o no. A continuación, las opciones más comunes:​
El navegador también puede incluir la posibilidad de especificar mejor quécookiestienen que ser aceptadas y cuáles no. En concreto, el usuario puede normalmente aceptar alguna de las siguientes opciones: rechazar lascookiesde determinados dominios; rechazar lascookiesde terceros (ver más abajo); aceptarcookiescomo no persistentes (se eliminan cuando el navegador se cierra); permitir al servidor crearcookiespara un dominio diferente. Además, los navegadores pueden también permitir a los usuarios ver y borrarcookiesindividualmente.
La mayoría de los navegadores que soportan JavaScript permiten a los usuarios ver lascookiesque están activas en una determinada página escribiendojavascript:alert("Cookies: "+document.cookie)en el campo de dirección.
La especificaciónP3Pincluye la posibilidad de que un servidor defina una política de privacidad que especifique qué tipo de información recoge y con qué propósito. Estas políticas incluyen (entre otras cosas) el uso de información recopilada a través decookies. Según la especificación P3P, un navegador puede aceptar o rechazarcookiescomparando la política de privacidad con las preferencias del usuario almacenadas, o preguntar al usuario, ofreciéndole la política de privacidad declarada por el servidor.
Lascookiestienen implicaciones importantes en laprivacidady elanonimatode los usuarios de la web. Aunque lascookiessolo se envían al servidor que las definió o a otro en el mismo dominio, una página web puede contener imágenes y otros componentes almacenados en servidores de otros dominios. Lascookiesque se crean durante las peticiones de estos componentes se llamancookiesde terceroso tambiéncookiesde seguimiento.
Las compañías publicitarias utilizancookiesde terceros para realizar un seguimiento de los usuarios a través de múltiples sitios. En concreto, una compañía publicitaria puede seguir a un usuario a través de todas las páginas donde ha colocado imágenes publicitarias oweb bugs. El conocimiento de las páginas visitadas por un usuario permite a estas compañías dirigir su publicidad según las supuestas preferencias del usuario.
Poco a poco los propios navegadores han ido incorporando opciones de configuración que permite bloquear las cookies de terceros.​
La posibilidad de crear un perfil de los usuarios se ha considerado como una potencial amenaza a la privacidad, incluso cuando el seguimiento se limita a un solo dominio, pero especialmente cuando es a través de múltiples dominios mediante el uso decookiesde terceros. Por esa razón, algunos países tienen legislación sobrecookies.
El gobierno de losEstados Unidosdefinió estrictas reglas para la creación decookiesen el año 2000, después de que se conociese que la Oficina de Control de Drogas Nacional de laCasa Blancautilizabacookiespara seguir a los usuarios que tras visitar su campaña antidrogas, visitaban sitios relacionados con la fabricación o el uso de drogas. En 2002, el activista por la privacidadDaniel Brandtaveriguó que laCIAhabía estado definiendocookiespersistentes en ordenadores durante diez años. Cuando les informó de que estaban violando la política, la CIA confirmó que esascookiesno habían sido creadas intencionadamente, y dejó de utilizarlas.​ El 25 de diciembre de 2005, Brandt descubrió que laAgencia de Seguridad Nacionalhabía estado creando doscookiespersistentes en los ordenadores de sus visitantes debido a una actualización de software. Tras ser informada, la agencia deshabilitó inmediatamente lascookies.​
Ladirectiva de la Unión Europea de 2002 sobre privacidad en las telecomunicacionescontiene reglas sobre el uso decookies. En concreto, en el artículo 5, párrafo 3 establece que el almacenamiento de datos (comocookies) en el ordenador de un usuario solo puede hacerse si: 1) el usuario recibe información sobre cómo se utilizan esos datos; y 2) el usuario tiene la posibilidad de rechazar esa operación. Sin embargo, este artículo también establece que almacenar datos que son necesarios por motivos técnicos está permitido como excepción. Se esperaba que esta directiva hubiese comenzado su aplicación desde octubre de 2003, pero uninforme de diciembre de 2004dice (página 38) que no ha sido aplicado en la práctica, y que algunos países miembros (Eslovaquia,Letonia,Grecia,BélgicayLuxemburgo) ni siquiera la han transpuesto a su legislación. El mismo informe sugiere un profundo análisis de la situación en los Estados miembros.
Legislación posterior también obliga a informar a los consumidores que sus sitios web utilizan cookies.​ Por ejemplo, la europeaGeneral Data Protection Regulation(GDPR) de 2016 o laCalifornia Consumer Privacy Act (CCPA)de 2018.​
En 2020 Google anunció que en 2022 no permitiría el uso de cookies de terceros en Chrome.​ Posteriormente aplazó la medida para mediados de 2023.​ Google está promoviendo el uso de la APIFLoCcomo sustituto.​
Además de lo relativo a la privacidad que ya se ha mencionado, hay otras razones por las que el uso decookiesha recibido cierta oposición: no siempre identifican correctamente a los usuarios, y se pueden utilizar para ataques de seguridad.
Si se utiliza más de un navegador en un ordenador, cada uno tiene su propio almacenamiento decookies. Por lo tanto, lascookiesno identifican a una persona, sino a una combinación de cuenta de usuario, ordenador y navegador. De esta manera, cualquiera que utilice varias cuentas, varios ordenadores, o varios navegadores, tiene también múltiples conjuntos de cookies.
De la misma manera, las cookies no diferencian entre varias personas que utilicen el mismo ordenador o navegador, si estos no utilizan diferentes cuentas de usuario.
Durante el funcionamiento normal, lascookiesse envían en los dos sentidos entre el servidor (o grupo de servidores en el mismo dominio) y el ordenador del usuario que está navegando. Dado que lascookiespueden contener información sensible (nombre de usuario, un testigo utilizado comoautenticación, etc.), sus valores no deberían ser accesibles desde otros ordenadores. Sin embargo, lascookiesenviadas sobre sesiones HTTP normales son visibles a todos los usuarios que pueden escuchar en la red utilizando unsnifferde paquetes. Estascookiesno deben contener por lo tanto información sensible. Este problema se puede solventar mediante el uso dehttps, que invocaseguridad de la capa de transportepara cifrar la conexión.
El scripting entre sitios permite que el valor de lascookiesse envíe a servidores que normalmente no recibirían esa información. Los navegadores modernos permiten la ejecución de segmentos de código recibidos del servidor. Si lascookiesestán accesibles durante la ejecución, su valor puede ser comunicado de alguna manera a servidores que no deberían acceder a ellas. El proceso que permite a una parte no autorizada recibir unacookiese llamarobo de cookies, y el cifrado no sirve contra este tipo de ataque.​
Esta posibilidad es explotada normalmente por atacantes de sitios que permiten a los usuarios el envío de contenidoHTML. Introduciendo un segmento de código adecuado en un envío HTML, un atacante puede recibir lascookiesde otros usuarios. El conocimiento de estascookiespuede después ser explotado mediante la conexión a los sitios en los que se utilizan lascookiesrobadas, siendo así identificado como el usuario a quien se le robaron lascookies.
Aunque lascookiesdeben ser almacenadas y enviadas de vuelta al servidor sin modificar, un atacante podría modificar el valor de lascookiesantes de devolverlas. Si, por ejemplo, unacookiecontiene el valor total de la compra de un usuario en un sitio web, cambiando ese valor el servidor podría permitir al atacante pagar menos de lo debido por su compra. El proceso de modificar el valor de lascookiesse denominafalsificación de cookiesy a menudo se realiza tras unrobo de cookiespara hacer un ataque persistente.
Sin embargo, la mayoría de los sitios web solo almacenan en lacookieun identificador de sesión —un número único utilizado para identificar la sesión del usuario— y el resto de la información se almacena en el propio servidor. En este caso, el problema de la falsificación decookiesqueda prácticamente eliminado.
Cada sitio debe tener sus propiascookies, de forma que un sitiomalo.netno tenga posibilidad de modificar o definircookiesde otro sitio comobueno.net. Las vulnerabilidades decookies entre sitiosde los navegadores permiten a sitios maliciosos romper esta regla. Esto es similar a la falsificación decookies, pero el atacante se aprovecha de usuarios no malintencionados con navegadores vulnerables, en vez de atacar el sitio web directamente. El objetivo de estos ataques puede ser realizar una fijación de sesión (robo de sesión en un sitio web).
Algunas de las operaciones que se pueden realizar mediantecookiestambién se pueden hacer mediante otros mecanismos. Sin embargo, estas alternativas a lascookiestienen sus propios inconvenientes, que acaban convirtiendo a lascookiesen la opción preferida en la práctica. La mayoría de las alternativas descritas a continuación permiten el seguimiento del usuario, si bien es cierto que no de forma tan fiable. Es por ello que la privacidad sigue siendo un problema, incluso si el navegador rechaza lascookiesy el servidor no las define.
Una técnica poco fiable de realizar un seguimiento de usuarios se basa en almacenar ladirección IPdel ordenador que solicita las páginas. Esta técnica ha estado disponible desde los inicios deWorld Wide Web, al ser necesario para la descarga de páginas que el servidor que las tiene conozca la dirección IP del ordenador en el que corre el navegador, o de suservidorproxysi lo hay. El servidor puede guardar esta información, independientemente del uso o no decookies.
Sin embargo, estas direcciones son normalmente menos fiables que lascookiespara la identificación de un usuario, debido a que los ordenadores yproxiespueden estar compartidos por varios usuarios, y el mismo ordenador puede tener asignadas diferentes direcciones IP en diferentes sesiones (caso típico en conexiones telefónicas, aunque también a través deADSLy otras tecnologías). La fiabilidad de esta técnica se puede aumentar mediante el uso de otra característica del protocolo HTTP: cuando un navegador solicita una página porque el usuario ha seguido un enlace, la petición que se envía al servidor contiene la URL de la página donde el enlace estaba localizado. Si el servidor almacena esas URL, se puede rastrear el camino de páginas visitadas por el usuario de forma más precisa. Sin embargo, estos rastreos son menos fiables que los que proporcionan lascookies, ya que varios usuarios pueden acceder a la misma página desde el mismo ordenador,routerconNAToproxy, y después seguir enlaces diferentes. Además, esta técnica solo permite el rastreo, y no puede reemplazar a lascookiesen sus otros usos.
El seguimiento de direcciones IP puede ser imposible en algunos sistemas que se utilizan precisamente para mantener elanonimato en Internet, tales comoTor. Con tales sistemas, no solo puede un navegador utilizar varias direcciones a lo largo de una sesión, sino que varios usuarios podrían aparecer como si utilizasen la misma dirección IP, convirtiendo por lo tanto el uso de las direcciones IP en una técnica absolutamente inútil para el rastreo de usuarios.
Una técnica más precisa consiste en incrustar información en laURL. Normalmente se usa para este fin lacadena de consultaque es parte de la URL, pero también se pueden utilizar otras partes. El mecanismo de sesión dePHPutiliza este método si lascookiesno están habilitadas.
Este método consiste en que el servidor web añade cadenas de consulta a los enlaces de la página web que contiene, a la hora de servirla al navegador. Cuando el usuario sigue un enlace, el navegador devuelve al servidor laquery stringañadidos a los enlaces.
Lasquery stringsutilizadas de esta manera son muy similares a lascookies, siendo ambas porciones de información definidos por el servidor y devueltas por el navegador posteriormente. Sin embargo, existen diferencias: dado que una cadena de consulta es parte de una URL, si la URL es reutilizada posteriormente, se estará enviando al servidor la misma porción de información. Si, por ejemplo, las preferencias de un usuario están codificadas en laquery stringde una URL, y el usuario envía esa URL a otro usuario por algún medio, esas preferencias serán utilizadas también por ese otro usuario.
Además, incluso si el mismo usuario accede a la misma página dos veces, no hay garantía de que se utilice la mismaquery stringen las dos. Si, por ejemplo, el mismo usuario llega a la misma página dos veces, una proveniente de otra página del mismo servidor web, y otra de unbuscador, las respectivasquery stringsserán normalmente diferentes, mientras que lascookieshubiesen sido idénticas. Para más detalles, véasecadenas de consulta.
Otras desventajas de las cadenas de consulta están relacionadas con la seguridad: almacenar en unaquery stringinformación que identifica una sesión permite o simplifica los ataques defijación de sesión, ataques de seguimiento dereferentesy otrasvulnerabilidades. La transferencia de identificadores de sesión en forma decookieses más segura.
Otra desventaja de lasquery stringstiene que ver con la forma en que la web está diseñada. Las URL deberían apuntar a recursos y ser "opacas". Véasetransferencia de estado representacional. Si se tiene una URL que incluye una cadena de consulta, ya no es la ubicación real del recurso.
Para la autenticación, el protocolo HTTP incluye mecanismos tales como eldigest access authentication, que permite acceder a una página web solo cuando el usuario ha facilitado un nombre de usuario y contraseña correctos. Una vez que se han introducido los credenciales, el navegador las almacena y las utiliza para acceder a las páginas siguientes, sin pedirlas de nuevo al usuario. Desde el punto de vista del usuario, el efecto es el mismo que si se usancookies: el nombre de usuario y palabra clave solo se piden una vez, y a partir de entonces el usuario obtiene acceso a las páginas del servidor. Internamente, el nombre de usuario y la contraseña se envían al servidor con cada petición del navegador. Esto quiere decir que alguien que estuviese escuchando este tráfico podría leer esta información y almacenarla para su uso posterior. Las sesiones, no obstante, normalmente expiran tras un periodo de inactividad determinado, quedando así invalidadas para, por ejemplo, recuperar la sesión que tenía el usuario que estaba navegando.
Si un navegador incluye elcomplementodeMacromedia Flash Player, se puede utilizar la función de objetos compartidos localmente (local shared objects) del mismo, de una forma muy similar a lascookies. Los objetos almacenados localmente  (local stored objects) pueden ser una opción interesante para los desarrolladores web porque la mayoría de los usuarios deWindowstienen Flash Player instalado, el tamaño máximo por defecto de los objetos es 100 kb, y los controles de seguridad son distintos de los controles de usuario para lascookies, de forma que los objetos almacenados localmente puedan estar habilitados cuando lascookiesno lo están.
Algunos navegadores web soportan un mecanismo de persistencia basado en script que permite que la página almacene información localmente para su uso posterior. Internet Explorer, por ejemplo, soporta información persistente en el historial del navegador, en los favoritos, en un almacenamiento XML, o directamente en una página web guardada en disco.​
Si está habilitado el uso de JavaScript, se puede utilizar la propiedadwindow.namedel objetowindowpara almacenar información de forma persistente. Esta propiedad permanece inalterada durante la carga de otras páginas web. Este pequeñohackno es muy conocido, y por lo tanto no ha sido considerado un fallo de seguridad. Además, el uso dewindow.nametiene problemas de compatibilidad con navegadores, ya que algunos, como los basados enMozillade los queMozilla Firefoxes un ejemplo, no soportan la persistencia con JavaScript utilizandowindow.name.​
La transferencia de páginas Web sigueHTTP. A pesar de lascookies, los navegadores piden una página de servidores para enviarles un texto corto llamado HTTP. Por ejemplo, para acceder a la página http://www.w3.org/index.html, los navegadores se conectan al servidor www.w3.org mandando una petición que se parece a la siguiente:
El servidor responde al enviar la página pedida precedida por un texto similar, llamado encabezado HTTP. Este paquete puede contener líneas peticionando al navegador para que guardecookies:
La líneaSet-cookiees solo enviada si el servidor desea que el navegador guardecookies. De hecho, es una petición al navegador el guardar la secuencianame=valuey enviarla de vuelta en cualquier otro futuro pedido del servidor. Si el navegador soportacookiesy lascookiesestán admitidas, cada petición de cada página subsecuente al mismo servidor va a contener la cookie. Por ejemplo, el navegador pide la página http://www.w3.org/spec.html enviando al servidor www.w3.org un pedido que se asemeja al siguiente:
Este es un pedido para otra página del mismo servidor, y se diferencia del primero porque contiene la secuencia que el servidor había previamente enviado al navegador. Por donde, el servidor sabe que este pedido está relacionado con el previo. El servidor responde al enviar la página pedida, posiblemente añadiendo otrascookiestambién.
El valor de la cookie puede ser modificada por el servidor al enviar una nueva líneaSet-Cookie: name=newvalueen respuesta al pedido de la página. El navegador entonces reemplaza el viejo valor con el nuevo.
La líneaSet-Cookieno es típicamente generada por el servidor HTTP en sí, sino por un programaCGI. El servidor HTTP solo envía el resultado del programa (un documento precedente por el encabezado contiendocookies) al navegador.
Lascookiestambién pueden ser puestas por JavaScript o scripts similares en el navegador. En JavaScript, el objetodocument.cookiees usado para este propósito. Por ejemplo, la instruccióndocument.cookie = "temperature=20"crea una cookie de nombretemperaturey valor20.​
Cuando lascookieshan caducado, estas no son enviadas al navegador; por lo tanto, la caducidad de las cookies puede ser pensada como un límite de tiempo en el que una de ellas puede ser usadas. La cookie puede luego ser renovada después de que este límite haya pasado. Algunos sitios prefieren que lascookiescaduquen en tiempos más cortos por razones de seguridad. Lascookiesno se envían al servidor bajo estas condiciones:
Nota: La tercera condición permite que un servidor elimine una cookie explícitamente.
Muchos servidores o páginas web utilizan lascookiespara reconocer usuarios que ya se hayan autenticado o para personalizar páginas web dependiendo de las opciones que un usuario seleccione. Por ejemplo, esto puede suceder cuando:
Este es uno de los métodos de autenticación más habituales, usados por Yahoo!, Wikipedia, oFacebook.
Otro uso de lascookiesse refiere al seguimiento de una ruta (camino) que un usuario toma cuando navega a través de páginas web de un servidor o sitio. Esto también puede ser obtenido cuando se usa la dirección IP de una computadora, aunque lascookiestienen mejor precisión. Esto se puede realizar de la siguiente manera:
Si luego se lee el registro, es posible identificar cuando, quién, y la secuencia en la cual un usuario accedió a que páginas.
Algunas páginas web, en particular páginas de compra o venta de productos permiten que usuarios guarden objetos en una "cesta virtual" incluso si ellos están fuera de sesión. Una lista de estos objetos puede ser almacenada en una cookie. Por ejemplo, cuando el usuario agrega un elemento a su cesta virtual, el servidor agrega el nombre de este objeto a la cookie. Sin embargo, este es un método muy inseguro ya que puede que la cookie sea fácilmente alterada por otro usuario. Una mejor forma podría ser que se genere una cookie de "seguimiento" aleatoria y luego usarla como una referencia en el servidor.
Ya es posible por ejemplo si vas a Mercadona tener tu propiaLista de la CompraoVer los Productos de Mercadonaactualizados con Precios e Históricos gracias a la digitalización actual.​