Que HTTP sea stateless significa que no se puede acordad del estado de tu visita. Esto fue solucionado con cookies. Una cookie es solo texto que esta en el cookie.jar.
Es interesante saber que las cookies fueron inventadas en 1994 por Netscape en la version 0.9 beta.
El primero uso de las cookies fue para saber si un usuario había visitado el sitio de Netscape antes. Es interesante que el inventor (Montulli) aplico para una patente y la ganó. Los componentes de una cookie moderna son:
A estas alturas las cookies mas importantes son las de authentication que sirven para que una pagina web sepa si ya te autenticaste o no.
Es importante saber que la diferencia entre cookies y sessions es que las sessions se almacenan en el servidor.
Desde un punto de vista de hacker, la cookies se pueden robar para entrar como otro usuario o si están mal implementadas (como me paso esta semana). La página solo mandaba una cookie diciendo que el usuario había hecho logout pero si la borrabas ya estabas adentro otra vez… ja