Cookies
Unha cookie é un pequeno bloque de datos que un servidor web garda no navegador do usuario, e que logo o navegador reenviará automaticamente en futuras peticións ao mesmo servidor.
Estas son importantes porque HTTP é un protocolo sen estado (stateless). Isto significa que cada petición HTTP é independente das demais. O servidor non lembra nada sobre o cliente entre unha petición e a seguinte.
Por exemplo, se visitas es.wikipedia.org e logo visitas outra páxina dentro do mesmo sitio (es.wikipedia.org/wiki/Cookie_(inform%C3%A1tica)), o servidor non sabe que es a mesma persoa a menos que ti lle deas esa información.
As cookies foron creadas precisamente para resolver esta limitación. É dicir, permiten identificar e manter información sobre o usuario entre peticións.
Son moi útiles para:
- Lembrar sesións de usuario.
- Gardar preferencias (idioma, tema escuro, etc.).
- Realizar seguimento de actividade (analytics, publicidade, etc.).
Funcionamento das Cookies
O funcionamento das cookies é o seguinte:
-
Na primeira visita, o servidor envía unha cookie ao cliente:
Set-Cookie: ID_usuario=123abc -
O navegador garda esa cookie.
-
En cada petición posterior, o navegador envía automaticamente a cookie:
Cookie: ID_usuario=123abc -
O servidor recoñece ese ID e pode identificar ao usuario.
Atributos habituais dunha cookie
| Atributo | Explicación |
|---|---|
Name=Value | Nome e valor da cookie |
Path=/ | En que rutas do servidor se enviará a cookie |
Domain=exemplo.com | O dominio ao que pertence (opcional) |
Expires= ou Max-Age= | Cando caduca a cookie |
Secure | Só se enviará por HTTPS . |
HttpOnly | Non accesible dende JavaScript (máis seguro) |
SameSite | Controla se se envía a cookie entre sitios (prevención contra CSRF) |
Tipos de cookies
| Tipo | Descrición |
|---|---|
| Cookies de sesión | Desaparecen ao pechar o navegador |
| Cookies persistentes | Gardadas ata que caducan |
| Cookies propias | Postas polo propio dominio (servidor principal) |
| Cookies de terceiros | Postas por outro dominio (ads, trackers, etc.) |