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
- Nombre (Name):
- El nombre de la cookie. Es un identificador único para la cookie dentro del dominio.
- Valor (Value):
- El contenido o valor asociado al nombre de la cookie. Puede ser una cadena de texto, datos codificados en base64, etc.
- 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á.
- 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.
- 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.
- Seguro (Secure):
- Un indicador que especifica que la cookie solo debe enviarse a través de conexiones seguras (HTTPS).
- 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).
- Un indicador que especifica que la cookie no debe estar accesible mediante JavaScript a través de
- 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
oNone
.
- 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
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 dominioexample.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
- Autenticación: Las cookies se utilizan para reconocer a los usuarios registrados y mantener sus sesiones iniciadas mientras navegan por el sitio.
- Personalización: Permiten a los sitios web recordar las preferencias del usuario, como el idioma preferido o la configuración de visualización.
- 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.
- 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.
- Publicidad: Las cookies publicitarias rastrean el comportamiento del usuario para mostrar anuncios más relevantes basados en sus intereses.
Tipos de cookies
- Cookies de sesión: Estas cookies son temporales y se eliminan cuando el usuario cierra el navegador.
- Cookies persistentes: Permanecen en el dispositivo del usuario durante un período de tiempo especificado o hasta que el usuario las elimine.
- Cookies propias: Establecidas por el sitio web que el usuario está visitando.
- 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.