O que são Cookies e Como Eles Funcionam?
Cookies, também conhecidos como web cookies ou browser cookies, são pequenos pedaços de dados que um servidor envia para o navegador web de um usuário. Esses cookies são armazenados no dispositivo do usuário e enviados de volta ao servidor com as solicitações subsequentes.
Cookies são essenciais para ajudar aplicações web a manter o estado e lembrar informações do usuário, o que é especialmente importante já que HTTP é um protocolo sem estado.
Cookies podem armazenar uma variedade de informações como preferências do usuário, dados de sessão ou informações de rastreamento.
Cookies são sempre armazenados como pares nome-valor. Isso significa que cada cookie tem um nome (chave) e um valor associado.
Por exemplo, um cookie pode armazenar o ID da sessão de um usuário assim:
sessionId=abc123. A chave é sessionId e o valor é abc123. Cada vez que o navegador se comunica com o servidor, o navegador envia esses cookies na forma de pares nome-valor.
Quando um usuário visita um site, o servidor pode enviar um ou mais cookies para o navegador do usuário incluindo um cabeçalho Set-Cookie na resposta HTTP. Um header é um par chave-valor que fornece informações adicionais sobre a requisição ou resposta HTTP. You will learn more about HTTP requests and responses in future lessons.
Uma vez que os cookies são definidos, o navegador os armazena e os inclui automaticamente no cabeçalho Cookie com cada requisição subsequente para o mesmo domínio. Isso permite que o servidor acesse os cookies armazenados e os use para coisas como manter sessões de usuário ou rastrear preferências.
Aqui está um exemplo de como um cookie é definido em uma resposta HTTP:
Set-Cookie: sessionId=abc123; Expires=Wed, 21 Oct 2021 07:28:00 GMT; Secure; HttpOnly
O navegador armazenará o cookie e, em futuras requisições ao mesmo servidor, incluirá o cookie no cabeçalho Cookie:
Cookie: sessionId=abc123
O servidor pode então ler o cookie e usar o session ID armazenado para recuperar informações sobre o usuário, como se ele está logado.
Aqui está uma análise dos diferentes tipos de cookies.
- Cookies de sessão duram apenas durante a sessão do usuário no site. Quando o usuário fecha o navegador ou a aba, o cookie de sessão é excluído. Esses cookies são normalmente usados para tarefas como manter o usuário logado durante a visita.
- Cookies Persistentes têm uma data de expiração e permanecem armazenados no dispositivo do usuário até que essa data seja alcançada. Cookies persistentes são frequentemente usados para lembrar preferências do usuário ou detalhes de login entre sessões.
- Cookies seguros são enviados apenas por HTTPS, garantindo que não possam ser interceptados por um atacante durante o trânsito.
- Cookies HttpOnly não podem ser acessados ou modificados por JavaScript executado no navegador, tornando-os mais seguros contra ataques de cross-site scripting (XSS). Ataques de cross-site scripting (XSS) acontecem quando um invasor injeta scripts maliciosos em uma página web que é visualizada por outros usuários. Esses scripts podem então ser executados no contexto do navegador da vítima, potencialmente roubando cookies, dados de sessão ou realizando outras ações maliciosas sem o conhecimento ou consentimento do usuário. Ao marcar cookies como HttpOnly, eles ficam protegidos contra acesso via JavaScript, reduzindo o risco de tais ataques.
Set-Cookie ou através do JavaScript usando document.cookie.
Aqui está um exemplo de como definir um cookie usando JavaScript:
document.cookie = "username=JohnDoe; expires=Fri, 31 Dec 2021 23:59:59 GMT; path=/";
Este comando define um cookie chamado username com o valor "JohnDoe" que expirará no final de 2021. Você pode atualizar um cookie existente simplesmente definindo-o novamente com um novo valor.
Para deletar um cookie, você define sua data de expiração no passado:
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";
Isso removerá o cookie username do navegador.Este módulo não possui perguntas. Marque como concluído.