Os navegadores da Web interagem com os sites seguindo o protocolo HTTP. Este é um conjunto padronizado de regras para comunicação:
- Quando você acessa uma página da Web, o navegador envia solicitações HTTP para os recursos da página, como HTML, CSS, JavaScript e imagens.
- Quando um servidor HTTP (um servidor da Web que hospeda um site) recebe uma solicitação HTTP válida de um navegador, ele responde com uma resposta HTTP.
- As solicitações e respostas podem incluir informações extras conhecidas como cabeçalhos HTTP.
Por exemplo, considere o site cats.example.
Solicitação
O acesso à página cats.example
inicia uma cadeia de solicitações para vários
domínios. Isso inclui uma solicitação de uma imagem hospedada no próprio cats.example
, uma solicitação de um script de análise do analytics.example
e outras solicitações de recursos adicionais de outros domínios.
As solicitações HTTP podem ser aumentadas com cabeçalhos de solicitação HTTP para fornecer informações complementares do navegador ao servidor da Web. Por exemplo, cabeçalhos como os seguintes são incluídos com frequência:
Accept-Language: en-US
Esse cabeçalho indica o idioma preferido do usuário, neste caso, inglês (Estados Unidos).User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
Esse cabeçalho fornece detalhes sobre o navegador e o sistema operacional do usuário, neste caso, "Mozilla/5.0" (família de navegadores), "Macintosh" (sistema operacional) e "Chrome/127.0.0.0" (versão do navegador).
Resposta
Quando um servidor da Web recebe uma solicitação válida de um navegador, ele envia ao navegador uma resposta que fornece o recurso solicitado (o "payload"): HTML, CSS, JavaScript, um arquivo de imagem, vídeo ou outros dados. Assim como cada solicitação do navegador pode incluir cabeçalhos de solicitação, cada resposta do servidor pode incluir cabeçalhos de resposta. Esses cabeçalhos de resposta são enviados com o payload.
Um cabeçalho Set-Cookie
incluído em uma resposta informa ao navegador para armazenar um texto: um nome e um valor. Isso é conhecido como cookie HTTP. Em resposta à
solicitação de cats.example/images/cat.jpg
, o servidor cats.example
inclui
o cabeçalho Set-Cookie:cat=tabby
. Isso instrui o navegador a armazenar um cookie chamado "cat" com o valor "tabby".
Esse cookie será incluído em solicitações subsequentes para cats.example,
até que expire ou seja removido.
Isso permite que o servidor mantenha informações sobre o usuário em várias páginas da Web ou sessões. Por exemplo, que o usuário viu a imagem de um gato malhado.
Cabeçalho | Ação | Exemplo | Efeito | |
---|---|---|---|---|
Resposta HTTP Servidor para navegador |
Set‑Cookie
|
O servidor da Web pede ao navegador para armazenar um cookie. | Set‑Cookie:cat=tabby |
O cookie é armazenado pelo navegador e fornecido em solicitações subsequentes ao servidor que o definiu. |
Solicitação HTTP Navegador para servidor |
Cookie |
Seu navegador fornece um cookie. | Cookie:cat=tabby |
O cookie é disponibilizado para o servidor que é o destino da solicitação. |
Demonstrações
- 1pc.glitch.me: demonstração de cookie primário.
- 3pc.glitch.me: demonstração de cookie de terceiros
Ferramentas
- Ver, adicionar, editar e excluir cookies no Chrome DevTools
- Ferramenta de análise de dados do Sandbox de privacidade
Saiba mais
- O que são cookies?
- Atributos de cookie
- O que são cookies de terceiros?
- Ferramentas de cookies
- Demonstrações de cookies
- Como usar cookies HTTP