Solicitação e resposta HTTP

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.

O site fictício 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

Ferramentas

Saiba mais