Sobes.tech
Junior

Como funcionam os cookies?

sobes.tech IA

Resposta da IA

Cookies são pequenos fragmentos de dados que o servidor envia ao navegador do cliente e que são armazenados no seu dispositivo. Em solicitações posteriores ao mesmo servidor, o navegador envia esses cookies de volta.

Processo de funcionamento:

  1. Envio pelo servidor: Na primeira solicitação do cliente à aplicação web, o servidor pode incluir no cabeçalho HTTP Set-Cookie. Este cabeçalho contém informações sobre os cookies que o navegador deve guardar.
    // Exemplo de cabeçalho Set-Cookie na resposta HTTP
    Set-Cookie: sessionid=abc123; Expires=Wed, 09 Jun 2021 10:18:14 GMT; Secure; HttpOnly
    
    • sessionid=abc123: Nome e valor do cookie.
    • Expires: Data e hora de expiração do cookie. Se ausente, o cookie será de sessão (eliminado ao fechar o navegador).
    • Secure: Enviar o cookie apenas via HTTPS.
    • HttpOnly: Impede o acesso ao cookie via JavaScript (aumenta a segurança).
  2. Armazenamento pelo navegador: O navegador recebe o cabeçalho Set-Cookie e guarda os cookies no armazenamento local. Cada cookie está vinculado a um domínio específico e, opcionalmente, a um caminho.
  3. Envio pelo navegador: Em solicitações posteriores ao domínio, para o qual os cookies foram guardados, o navegador os inclui automaticamente no cabeçalho Cookie da solicitação HTTP.
    // Exemplo de cabeçalho Cookie na solicitação HTTP
    Cookie: sessionid=abc123
    
  4. Processamento pelo servidor: O servidor recebe os cookies do cabeçalho Cookie e os usa para identificar o cliente, manter o estado da sessão, personalizar conteúdo, etc.

Principais atributos dos cookies:

Atributo Descrição
Expires Data e hora em que o cookie deixará de ser válido.
Max-Age Tempo máximo de vida do cookie em segundos. Prioridade sobre Expires.
Domain Domínio para o qual o cookie é válido. Por padrão, o domínio atual.
Path Caminho dentro do domínio para o qual o cookie é válido.
Secure Enviar o cookie apenas através de uma conexão segura (HTTPS).
HttpOnly Impede o acesso ao cookie via JavaScript.
SameSite Controla o envio do cookie em requisições entre sites (proteção CSRF).

Utilização de cookies:

  • Gestão de sessões: Guardar o identificador de sessão para manter o estado do utilizador entre requisições.
  • Personalização: Recordar preferências do utilizador, como idioma ou tema.
  • Rastreamento: Analisar o comportamento do utilizador no site (com o seu consentimento).

Restrições:

  • Tamanho limitado de dados (normalmente cerca de 4 KB por cookie).
  • Quantidade limitada de cookies por domínio.
  • Podem ser desativados ou eliminados pelo utilizador.