Os navegadores da Web interagem com os sites seguindo o protocolo HTTP. Este é um conjunto de regras padronizado para comunicação:
- Quando você visita 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, o servidor responde ao navegador 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 de 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 estes são frequentemente incluídos:
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 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 algum
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 nas 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 recebeu uma imagem de um
gato malhado.
Cabeçalho | Ação | Exemplo | Efeito | |
---|---|---|---|---|
Resposta HTTP Do servidor para o 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 posteriores ao servidor que o definiu. |
Solicitação HTTP do navegador para o 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 cookies primários
- 3pc.glitch.me: demonstração de cookies de terceiros
Ferramentas
- Consultar, adicionar, editar e excluir cookies nas Ferramentas do desenvolvedor do Chrome
- Ferramenta de análise de dados do Sandbox de privacidade