6.1 Tipos de títulos

Os cabeçalhos de solicitação http são, na verdade, informações de serviço para o cliente http e o servidor http. Mas é muito importante e, se você não os entender, muitas vezes isso será desviado para você. Então, pelo menos, leia sobre eles.

Todos os cabeçalhos http podem ser divididos em 4 grupos principais:

# Tipo de cabeçalho Descrição Observação
1 Cabeçalhos Gerais Títulos gerais Usado em solicitações e respostas
2 Cabeçalhos de solicitação Cabeçalhos de solicitação Usado apenas em solicitações
3 cabeçalhos de resposta Cabeçalhos de resposta Usado apenas em respostas
4 Cabeçalhos de Entidade Cabeçalhos de entidade Acompanhar cada entidade de mensagem

6.2 Agente do usuário

O cabeçalho mais importante e popular é User-Agent . Esta é uma string especial que descreve qual cliente está fazendo a solicitação ao servidor. Este é o nome do cliente.

Freqüentemente, o servidor adaptará sua resposta ligeiramente ao solicitante. Por exemplo, se ficar claro na solicitação que a solicitação veio de um navegador de celular, pode ser fornecida uma versão móvel da página HTML.

Não é incomum que spambots, gerenciadores de download e alguns navegadores enviem strings falsas de User-Agent para fingir ser clientes legítimos. Essa situação é conhecida como falsificação do agente do usuário ou falsificação do agente do usuário.

Por exemplo, meu User-Agent se parece com isso agora:

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0

Ele contém informações sobre o navegador, sistema operacional e mecanismo da web do navegador.

6.3 Tipo de conteúdo

O segundo cabeçalho mais popular é Content-Type . Ele é usado para determinar o tipo MIME do recurso que o servidor está atendendo.

Mesmo no início da Internet, os tipos de conteúdo de mídia transmitidos eram padronizados por conveniência. Eles são chamados de Internet Media Types ou MimeTypes para abreviar . Eles se enquadram em 9 categorias:

  • aplicativo
  • áudio
  • exemplo
  • imagem
  • mensagem
  • modelo
  • várias partes
  • texto
  • vídeo

Exemplos:

Categoria Tipo Descrição
áudio áudio/mp4 Arquivo de áudio em formato mp4
áudio/aac arquivo de áudio AAC
imagem imagem/gif imagem gif
imagem/jpeg imagem jpeg
imagem/png imagem png
texto texto/css arquivo CSS
texto/html arquivo HTML
vídeo vídeo/mpeg Arquivo de vídeo no formato mpeg
vídeo/webm Arquivo de vídeo no formato webm
vídeo/3gpp Arquivo de vídeo no formato 3gpp
aplicativo application/x-www-form-urlencoded Dados codificados
aplicativo/zip Arquivo compactado
aplicativo/javascript JavaScript
aplicativo/xml XML

Normalmente, o servidor sabe quais dados fornece. Mas se você estiver gerando uma resposta do servidor com seu próprio código, precisará especificar o tipo de resposta (Content-Type) do seu servidor.

6.4 Comprimento do Conteúdo

Este cabeçalho especifica o tamanho da resposta do servidor . Se for de maneira simples, o tamanho do arquivo fornecido. Você não precisa definir manualmente essa opção. Embora possa ser útil olhar para o que o servidor deu, se por algum motivo a resposta não veio toda.

6.5 Aceitar Codificação

Com este cabeçalho, o cliente pode indicar ao servidor que suporta vários algoritmos de compressão de conteúdo . Assim, o servidor pode primeiro arquivar o conteúdo, por exemplo, com um arquivo zip, depois enviá-lo ao cliente, e o cliente pode restaurar corretamente o conteúdo original.

A vantagem do arquivamento é que quanto menor o arquivo, mais rápida a transferência. Contras de arquivamento - carga adicional no cliente e no servidor. O arquivamento faz sentido ao transferir arquivos grandes e geralmente não faz sentido ao transferir arquivos pequenos.

Um exemplo desse cabeçalho:

Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5

Onde deflatee gzipsão os algoritmos de compactação de dados suportados e qdenota o grau de compactação.