O termo cookie é derivado do inglês que significa bolacha. Recebeu esse nome de uma antiga gíria usada pelos programadores que consistia em um programa chamava um procedimento e recebia de volta algo que seria necessário apresentar novamente mais tarde para realizar algum trabalho. Foi criado pela Netscape para solucionar o problema do envio e solicitação de arquivos, que era esquecido pelo servidor e que poderia ser usado por outros computadores com o mesmo IP conforme (TANEMBAUM, 2003), o que causava problemas, pois não se sabia na realidade se era ou não aquele usuário mesmo.
Os cookies são arquivos ou strings e não são programas executáveis. Eles são tratados como dados pelo navegador, não existe nenhuma maneira dele ser usado como vírus, apensar de que podem ser explorados bugs no servidor e causar a ativação de um cookie como vírus, por um hacker.
Basicamente ele é um grupo de dados trocados entre o servidor de páginas e o navegador colocado em um ficheiro criado no computador do usuário. Serve para manter a persistência das sessões HTTP.
Ele funciona da seguinte forma: Um usuário solicita uma página da Web, nisso o servidor pode fornecer informações adicionais acompanhando a página solicitada. Essas informações podem incluir um cookie, um pequeno arquivo ou string (com 4 KB no máximo). Este cookie pode ter até 5 campos (figura 03): Domain, Path, Content, Expires, Secure. Domain informa de onde veio o cookie.
O navegador confirma que os servidores estão enviando dados fieis a respeito de seu domínio. Cada domínio pode armazenar no máximo 20 cookies por cliente. O campo Path é um caminho na estrutura de diretórios do servidor que identifica as partes da arvores de arquivos do servidor que podem usar o cookie.
Frequentemente, ele obtém o símbolo / (barra), que representa a arvore inteira. O campo Content utiliza a forma nome = valor, podendo o servidor definir da maneira que quiser tanto o valor quanto o nome, e é nele que fica armazenado o conteúdo do cookie. Expires é o campo que faz o cookie persistir, nele contem a data e o horário, e se ele estiver ausente o navegador descartara automaticamente após o termino da seção. O ultimo campo define se ele é seguro ou não.
Figura 03: Alguns exemplos de cookie. Fonte: (TANEMBAUM, 2003)
O cookie é usado para identificar um usuário que configurou uma página web, para que na próxima vez que ele entrar ela esteja configurada do modo em que ele deixou. Pode ser usado também quando se faz a solicitação de armazenamento de senha, na vez posterior em que entrar no site, a sua senha será lembrada. É usado também em sites de compra, como e-commerce, armazenando os produtos que o cliente colocou no carrinho para que no final da compra não necessite fazer todo o processo novamente.