Um Cookie é um arquivo de texto que pode ser criado pelo navegador, ao pedido do servidor web.
O cookie é reenviado automaticamente ao servidor a cada nova visita a mesma pagina.
Todo cookie é associado ao site (ou domínio) que o criou e não pode ser acessado por outros sites.
Por defeito, o Cookie é excluído quando fechamos o navegador. Para evitar isso, é necessário definir um tempo de expiração.
Estrutura de um Cookie
- Nome (obrigatório);
- Valor(obrigatório);
- Caminho no servidor;
- Site ou domínio;
- Tempo de expiração (mins, segs, horas, dias);
- Necessidade de conexão segura;
- Acesso por HTTP(apenas ou outros).
Tipos de Cookies
- Cookies Primários: recebidos directamente do web site visitado;
- Cookies de terceiros: recebidos a partir de sites que não foram visitados directamente;
- Cookies de Sessão: excluídos quando o navegador encerra;
- Cookies Permanentes: possuem data de expiração.
Principais aplicações de Cookies
- Autenticação de Usuários (email, senha, nome de usuário);
- Implementação de Carrinho de Compras;
- Tokens de autenticação;
- Histórico de Navegação do usuário;
- Armazenamento de Configurações do usuário;
- Uso offline de aplicações (Google Docs, Office 365);
- Permissão de continuidade no uso de uma aplicação web.
Vantagens
- Facilidade de implementação;
- Ajuda o Navegador no armazenamento de estado.
Desvantagens
- Cookies podem ser desativados, excluídos e modificados pelo cliente;
- Todas os dados precisam ser repassados novamente a cada requisição HTTP feita pelo cliente;
- Identificação imprecisa de usuários;
- Possibilitam o sequestro de cookies para capturar dados privados;
- é possível enviar um cookie inválido ao servidor;
- O tempo de expiração muito longo pode se tornar um problema.
Exemplos
Implementação de Autenticação de usuários, com login e logout, usando Cookies
- Linguagem: PHP
- SGBD: MySQL
Código Fonte:
https://github.com/ortizdavid/cookies-app