¿Cómo se usan las cookies en JavaScript?

Hay una biblioteca de cookies muy útil para jQuery para configurar y leer cookies:

https://github.com/carhartl/jque…

Puede usar cookies para almacenar información simple que puede usar para rastrear al usuario o establecer preferencias para la próxima vez que regrese.

Por ejemplo, supongamos que tiene una configuración de preferencias que le permitiría al usuario establecer un tamaño de fuente predeterminado. En lugar de almacenarlo en la base de datos en alguna cuenta de perfil de usuario, puede almacenarlo en su cookie.

  • Las cookies también se pueden usar para rastrear a los usuarios.
  • Herramientas como Google Analytics y Site Catalyst usan la cookie para rastrear la ruta de los usuarios a través de un sitio web.
  • También podría saber si el usuario ha regresado con el tiempo.

Todas estas cosas dependen de que el usuario no elimine la cookie.

Los he usado para almacenar preferencias como una configuración de animación de pausa.

Respuesta ligeramente simplificada: las cookies almacenan datos específicos de cada usuario (y navegador). A menudo se usan para identificar sesiones, guardar preferencias, etc. Pero las cookies son una forma de almacenar información específica del dominio en la computadora local.

Una cookie contiene un

  • par nombre-valor
  • caduca : una fecha de caducidad. La mayoría de las versiones de IE caduca a lo largo de la edad máxima, si ambas están configuradas.
  • max-age : en segundos, después de cuánto tiempo se eliminarán las cookies. La mayoría de los navegadores que no son IE prefieren usar esto cuando caduca si ambos están configurados.
  • ruta : el nombre de dominio / ruta a la que la cookie es específica
  • seguro : si es verdadero, la cookie se usa solo a través de HTTPS
  • (adicional – no relevante para JS) HttpOnly : si está activado y el navegador lo admite, la cookie no estará disponible para los scripts. Se puede usar para hacer que XSS sea más difícil. Más información: http://www.owasp.org/index.php/H … (del comentario de James Ide)

En Javascript puede acceder a las cookies desde document.cookie .
Para escribir una cookie, debe escribir algo en la dirección de:

document.cookie = name + "=" + value + expires + "path=/";

Los ejemplos son (ligeramente editados) de un artículo en Quirksmode, que explica bien el uso de cookies en JS:
http://www.quirksmode.org/js/coo

Más información sobre los datos almacenados en la cookie:
https://developer.mozilla.org/en

Las cookies evolucionaron a partir del diseño de HTTP. Dado que cada solicitud en la web es independiente y sin estado, sin embargo, las aplicaciones web no lo son. Entonces, si el navegador / cliente y el servidor / Apache necesitan compartir algunos datos, no tendrían suerte sin cookies.

Las cookies se envían junto con cada solicitud HTTP y pueden ser modificadas por el servidor o el cliente. También están vinculados a un dominio, por lo que una cookie, por ejemplo, Quora solo se enviará a quora.com, y cuando se encuentre en google.com no podrán acceder a sus cookies quora.com y viceversa.

La razón más común para usar cookies es mantener sesiones. Un servidor le dará un token, y cada vez que haga una solicitud, el navegador pasará ese token y el servidor podrá identificarlo y cargar su información. Por lo general, no necesita modificar la cookie en el lado del cliente en este caso.

El otro caso de uso para las cookies es almacenar el estado del cliente / las preferencias del usuario. Supongamos que desea recordar el texto que ingresaron en la página incluso si se actualizan. No se envían datos al servidor, por lo que la única forma de hacerlo sería guardarlos de alguna manera. Aunque en estos días guardar esos datos en una cookie está bastante desactualizado con la disponibilidad de HTML5 localStorage. Le recomendaría que eche un vistazo a: http://pablotron.org/software/pe … para este caso de uso.