Cookies en DETALLE.

Todo el detalle de las "cookies". 

Bienvenido, este informe es para que aproveches mi conocimiento y mis ganas de compartir. No seria honesto si ademas te digo que me sirve muchisimo a mi hacerlo. Por la sencilla razon de que nada es inmutable y siempre podemos aprender mas.
Ok! Lets go people...
 
Las podemos separar en 3 grandes grupos: seguimiento, preferencias, sesiones.
Seguimiento: Sirven para entender como funciona el tiempo que el usuario emplea en la web, cuanto destina a un sitio web "x", que es lo que hace en el sitio y a que sitios usualmente navega.
Preferencias: Cuando el sitio web permite personalizarse y el usuario lo hace, ejemplo el famoso estilo "dark mode", bueno hay una cookie detras.
Sesiones: Sirven para que el usuario no tenga que estar registrandose cada vez que inicia sesion.
Atributos:

Son los que se indican al crear las cookies y tambien hay otros llamados "banderas" que controlan como se comportan las cookies en el navegador. 

  • Expires - Cuando caduca la cookie.
  • Max-age - El tiempo de vida de una cookie

Cualquiera de las dos opciones anteriores te srive para saber que podes dar de baja una cookie cuando ya no la necesites. Pero si la cuestion va por "acordarse" es mejor usar Max-age, si me entendiste?

  • Domain - El nombre del host, que recibe la cookie.
  • Domain "explicito" - Cuando lo seteas, tambien abarca los sub-dominios.

Esto puede ser util si queremos entender la logica del creador de la cookie, si la setea por ejemplo: Domain=suDominio.org logra que las cookies se puedan acceder desde sub-dominios como por ejemplo: blog.suDominio.org

  • Path - Es la ruta que si o si debe estar para enviar el encabezado de la cookie, generalmente se usa "/".
  • SameSite - se encarga de decir si una cookie se envia a terceros mediante su correspondiente solicitud. (BANDERA)

SamSite puede tomar 3 valores: Strict (no manda a 3ros), Lax (las manda mediante un GET), None (las manda sin mirar a quien).

  • HttpOnly - Si se setea, tiene la funcion de impedir que la cookie sea accesible desde el lado del "cliente", es para impedir robo de cookies. El cliente JavaScript podria por ejemplo hacer un document.cookie para acceder a ella. (BANDERA)
  • Secure - Si se setea, obliga a que la cookie se envie solo a traves de conexion segura. (BANDERA)