Cookie
Origem: Wikipédia, a enciclopédia livre.
| Este artigo ou secção não cita as suas fontes ou referências (desde Dezembro de 2008) Ajude a melhorar este artigo providenciando fontes fiáveis e independentes, inserindo-as no corpo do texto ou em notas de rodapé. Encontre fontes: Google – news, books, scholar, Scirus |
Cookie é um grupo de dados trocados entre o navegador e o servidor de páginas, colocado num arquivo (ficheiro) de texto criado no computador do utilizador. A sua função principal é a de manter a persistência de sessões HTTP. A utilização e implementação de cookies foi um adendo ao HTTP e muito debatida na altura em que surgiu o conceito, introduzido pela Netscape, devido às consequências de guardar informações confidenciais num computador - já que por vezes pode não ser devidamente seguro, como o uso costumeiro em terminais públicos.
Um exemplo é aquele cookie que um site cria para que você não precise digitar sua senha novamente quando for ao site outra vez. Outros sites podem utilizá-los para guardar as preferências do usuário, por exemplo, quando o sítio lhe permite escolher uma cor de fundo para suas páginas.
Funcionamento:
- Quando o servidor deseja activar um cookie no cliente, envia uma linha no cabeçalho HTTP iniciada por Set-Cookie: ...
- A partir desse momento, consoante as opções especificadas pelo cookie, o cliente irá enviar no seu cabeçalho HTTP dos pedidos uma linha contendo os cookies relevantes, iniciada por Cookie: ....
Entre os parâmetros dos cookies estão: o tempo de vida (a data para o cookie "expirar a validade") e o domínio, ou grupo de páginas a que o cookie se aplica. Por exemplo, é possível fazer com que um cookie seja aplicado apenas a endereços iniciados por http://pt.wikipedia.org/wiki/ de maneira que esse mesmo cookie já não se aplique para http://pt.wikipedia.org/skins/, por exemplo.
Se não especificada a data de validade para o cookie , ele irá expirar assim que o usuário fechar o navegador.
Em JavaScript (embutido no HTML da página acessada), podemos criar um script para manipulá-los. Utilizamos "document.cookie" (sem aspas). Exemplo:
function setCookie(name, value, expires, path, domain, secure) {
var curCookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
document.cookie = curCookie;
}
function getCookie(name) {
var dc = document.cookie;
var prefix = name + "=";
var begin = dc.indexOf("; " + prefix);
if (begin == -1) {
begin = dc.indexOf(prefix);
if (begin != 0) return null;
} else
begin += 2;
var end = document.cookie.indexOf(";", begin);
if (end == -1)
end = dc.length;
return unescape(dc.substring(begin + prefix.length, end));
}
function deleteCookie(name, path, domain) {
if (getCookie(name)) {
document.cookie = name + "=" +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
"; expires=Thu, 01-Jan-70 00:00:01 GMT";
history.go(0);
}
}
As funções do script acima:
- setCookie - Define o valor de um cookie
- getCookie - Retorna o valor de um cookie
- deleteCookie - Exclui um cookie. Para excluir um cookie devemos alterar sua data de expiração para uma data inferior a atual. (esta função faz exatamente isso).
Em ASP, podemos utilizar cookies por meio dos objetos Response e Request. Exemplo:
- Para gravar o cookie
Response.Cookies("nomedocookie") - Para definir a validade do cookie
Response.Cookies("momedocookie").Expires = DateAdd("d", 365, Now()) - Utilize o DateAdd para adicionar uma data. No exemplo acima, adicionamos 365 dias, o que equivale a um ano.
- Para definir o domínio
Response.Cookies("nomedocookie").Domain = "pt.wikipedia.org" - Para definir o grupo de páginas que o cookie se aplica
Response.Cookies("nomedocookie").Path = "/wiki" - Se definido como "/" todo o sítio poderá acessar o cookie.
- Se quiser, há como adicionar vários valores ao cookie
response.Cookie("nomedocookie")("nomedovalor") = "valor" - Para ler o cookie , utilize o objeto Request. Exemplo:
variavel = Request.Cookies("nomedocookie") - E para ler valores
variavel = Request.Cookies("nomedocookie")("nomedovalor")
Em PHP, os cookies são tratados por meio da função setcookie(). Esta deverá vir antes de qualquer dado ser enviado ao navegador, devido os cookies fazerem parte do cabeçalho HTTP.
[editar] Origem do nome
Cookie(nome de origem holandesa e alemão) o mesmo que biscoito. Em uma tradução livre para os consumidores também é fortemente comercializado como "Flocos de Arroz" embora os ingredientes sejam o mesmo do Cookie original europeu.
[editar] Ligações externas
- A especificação preliminar emitida pela Netscape
- RFC 2965 - HTTP State Management Mechanism - especificação actual, que torna o RFC 2109 obsoleto.
| Este artigo é um esboço sobre redes de computadores. Você pode ajudar a Wikipédia expandindo-o. |

