Introducción
Este documento describe qué son las cookies HTTP y cuál es la diferencia entre las cookies de sesión y las cookies persistentes.
Antecedentes
Las cookies son cadenas de datos que un servidor web envía al explorador. Cuando un explorador solicita un objeto del mismo dominio en el futuro, el explorador enviará la misma cadena de datos al servidor de origen.
Los datos se envían desde el servidor web en forma de encabezado HTTP denominado "Set-Cookie" (Cookie establecida). El explorador envía la cookie al servidor en un encabezado HTTP denominado "Cookie".
A continuación se muestra un ejemplo de cómo podría verse una transacción de cookies HTTP:
Respuesta HTTP del servidor web:
[...]
Set-Cookie: first.lastname
HTTP GET del cliente:
[...]
Cookie: first.lastname
En la transacción de ejemplo, el servidor web le dijo al cliente que creara la cookie "first.lastname". La próxima vez que el cliente solicite un objeto de este dominio, envía la cookie con la solicitud. Esto ilustra cómo un servidor web podría recuperar cierta información como los inicios de sesión de los usuarios.
Tipos de cookies
Hay dos tipos diferentes de cookies: cookies de sesión y cookies persistentes. Si una cookie no contiene una fecha de vencimiento, se considera una cookie de sesión. Las cookies de sesión se almacenan en la memoria y nunca se escriben en el disco. Cuando el explorador se cierra, la cookie se pierde permanentemente a partir de este momento. Si la cookie contiene una fecha de vencimiento, se considera una cookie persistente. En la fecha especificada en el vencimiento, la cookie se quitará del disco.
Hay varios campos diferentes que puede contener una cookie, separados por punto y coma. Las definiciones son las siguientes:
expira
cadures="Wdy, DD-Mon-YYYY HH:MM:SS GMT"
Determina cuándo se eliminará la cookie.
ruta
path=/
Determina la ruta en la que se debe devolver la cookie. En este ejemplo, la cookie se enviará cuando vaya a la ruta raíz en un dominio.
domain
domain=any.domain.com
Especifica para qué dominio se utiliza la cookie. Si esto no coincide con el dominio al que se está buscando actualmente, se considera una "cookie de terceros" y será rechazada por el navegador. Esto evita que un dominio establezca una cookie para un dominio diferente.