Cookie
História Resumida
Cookies foram criados pela netscape devido a necessidade do servidor conseguir identificar quem está requisitando informações, a idéia é armazenar pequenos tokens na máquina cliente, para quando a mesma se comunicar novamente com o servidor, possa enviar esses tokens e ser identificada. A criação e o envio desses cookies são completamente transparentes ao usuário.
Como tirar proveito dos cookies?
Um bom exemplo de como tirar proveitos desse recurso é quando você quer armazenar informações temporárias referentes ao usuário, como a folha de estilo preferida dele, a quantidade de vezes em que ele acessou sua aplicação ou até o nome de usuário e senha para acesso liberado a sua aplicação.
Quanto de informação cabe em um desses?
O total de cookies no computador do usuário não pode ultrapassar 300, porém desse total sua aplicação só pode utilizar 20, limite por domínio, com no máximo 4k cada, dando um total de
4096 bytes por cookie e 81920 bytes por domínio. Cada byte pode ser contado como um caracter, ou seja, pode-se armazenar na máquina cliente um total de 81920 caracteres.
Como não usar?
Não use seu cookie como banco de dados;
Não use seu cookie para armazenar dados que possam ficar em sessão.
Como funciona?
A manipulação dos cookies é feita atravéz do javascript pela instrução document.cookie, não importa quantos cookies você crie(dentro do limite dos 20/domínio), todos estarão dentro dessa variável como texto, podendo ser recuperados individualmente por meio de tratamento de string.
Criação 01: nome=valor
Essa é a forma mais simples de uso para o cookie, sendo que ele não persiste na maquina do cliente após a perda da sessão;
Criação 02: nome=valor; expires=valor
Dessa forma o cookie é mantido na máquina do cliente até a data de expiração informada, é aconselhado criar uma função para calcular dias ou meses para frente, recuperando a data atual com a função new Date().toGMTString(), o formato para a data pode ser visto através dessa mesma função;
Criação 03: nome=valor; expires=valor; path=valor
Essa é a forma de criar o cookie, onde é informado também a que parte da aplicação ele vai responder, por exemplo, é possivel criar um cookie que responda apenas a um subdomínio, ou a uma url interna.
Deletar cookie
Para remover o cookie da maquina basta setar a data de expiração do mesmo como a data atual, usando a função “new Date().toGMTString()”;
Download de todos os exemplos.
Obs 1: Não é nescessário ter data de expiração para setar o path do cookie, exemplo: nome=valor; path=valor
Obs 2: Para facilitar a visualização dos cookies e com isso o estudo, instale o FireCookie, componente do firefox para trabalhar com cookie, após a instalação estará disponível no firebug mais uma aba chamada Cookie, clicando nela você terá a lista de cookies e valores.