Cookies Web

Una cookie es simplemente un pequeño archivo de texto que almacena pares de valores clave. La información que contiene puede variar, pero generalmente sigue una estructura estándar. A continuación, se detalla la estructura técnica de una cookie:

Componentes de una Cookie

  1. Nombre (Name):
    • El nombre de la cookie. Es un identificador único para la cookie dentro del dominio.
  2. Valor (Value):
    • El contenido o valor asociado al nombre de la cookie. Puede ser una cadena de texto, datos codificados en base64, etc.
  3. Fecha de Expiración (Expires) o Tiempo de Vida (Max-Age):
    • Expires: Especifica la fecha y hora exacta en que la cookie expirará. Si no se establece, la cookie se considera una cookie de sesión y se eliminará cuando se cierre el navegador.
    • Max-Age: Especifica el tiempo en segundos durante el cual la cookie será válida. Después de este período, la cookie expirará.
  4. Dominio (Domain):
    • Especifica el dominio para el cual la cookie es válida. La cookie se enviará en solicitudes HTTP a este dominio y a sus subdominios.
  5. Ruta (Path):
    • Especifica la ruta en el dominio para la cual la cookie es válida. La cookie se enviará en solicitudes HTTP a las URL que coincidan con esta ruta.
  6. Seguro (Secure):
    • Un indicador que especifica que la cookie solo debe enviarse a través de conexiones seguras (HTTPS).
  7. Solo HTTP (HttpOnly):
    • Un indicador que especifica que la cookie no debe estar accesible mediante JavaScript a través de document.cookie. Esto ayuda a mitigar ciertos ataques como el cross-site scripting (XSS).
  8. SameSite:
    • Especifica restricciones adicionales sobre cómo se envía la cookie junto con las solicitudes originadas desde sitios web de terceros. Puede tomar los valores Strict, Lax o None.

Ejemplo de una Cookie

Aquí hay un ejemplo de una cookie con varios de estos atributos establecidos:

Set-Cookie: sessionId=abc123; Expires=Wed, 21 Oct 2023 07:28:00 GMT; Domain=example.com; Path=/; Secure; HttpOnly; SameSite=Lax

Desglose del Ejemplo

  • Nombre: sessionId
  • Valor: abc123
  • Expires: Wed, 21 Oct 2023 07:28:00 GMT (La cookie expirará el 21 de octubre de 2023 a las 07:28:00 GMT)
  • Domain: example.com (La cookie es válida para el dominio example.com)
  • Path: / (La cookie es válida para todas las rutas del dominio)
  • Secure: (La cookie solo se enviará a través de conexiones HTTPS)
  • HttpOnly: (La cookie no es accesible a través de JavaScript)
  • SameSite: Lax (La cookie se envía con solicitudes de primer y tercer origen en ciertas condiciones)

Uso en HTTP

Las cookies se envían y reciben mediante encabezados HTTP:

Enviado por el Servidor

HTTP/1.1 200 OK
Set-Cookie: sessionId=abc123; Expires=Wed, 21 Oct 2023 07:28:00 GMT; Domain=example.com; Path=/; Secure; HttpOnly; SameSite=Lax

Enviado por el Navegador

GET /index.html HTTP/1.1
Host: example.com
Cookie: sessionId=abc123

Consideraciones de Seguridad

  • HttpOnly: Asegura que las cookies no sean accesibles a través de JavaScript, mitigando ataques XSS.
  • Secure: Asegura que las cookies solo se envíen a través de HTTPS, protegiéndolas contra ataques de red.
  • SameSite: Ayuda a prevenir ataques de CSRF (Cross-Site Request Forgery) restringiendo cuándo se envían las cookies.

Algunas funciones y características clave de las cookies

  1. Autenticación: Las cookies se utilizan para reconocer a los usuarios registrados y mantener sus sesiones iniciadas mientras navegan por el sitio.
  2. Personalización: Permiten a los sitios web recordar las preferencias del usuario, como el idioma preferido o la configuración de visualización.
  3. Seguimiento: Las cookies de seguimiento recopilan datos sobre el comportamiento de navegación del usuario, lo que ayuda a los propietarios de sitios web a entender cómo los usuarios interactúan con su sitio.
  4. Cesta de compras: En los sitios de comercio electrónico, las cookies se utilizan para recordar los artículos que el usuario ha agregado a su carrito de compras.
  5. Publicidad: Las cookies publicitarias rastrean el comportamiento del usuario para mostrar anuncios más relevantes basados en sus intereses.

Tipos de cookies

  1. Cookies de sesión: Estas cookies son temporales y se eliminan cuando el usuario cierra el navegador.
  2. Cookies persistentes: Permanecen en el dispositivo del usuario durante un período de tiempo especificado o hasta que el usuario las elimine.
  3. Cookies propias: Establecidas por el sitio web que el usuario está visitando.
  4. Cookies de terceros: Establecidas por dominios diferentes al sitio web que el usuario está visitando, a menudo utilizados para publicidad y análisis.

Gestión de cookies

Los usuarios pueden gestionar las cookies a través de la configuración de su navegador web. Pueden optar por aceptar o rechazar cookies, así como eliminar cookies almacenadas. Sin embargo, es importante tener en cuenta que bloquear o eliminar cookies puede afectar la funcionalidad de algunos sitios web.