Os campos que descrevem a mensagem HTTP
Header HTTP, ou cabeçalho HTTP, é um campo que acompanha uma requisição ou resposta e informa como interpretar ou tratar a comunicação. Cabeçalhos podem declarar o formato do conteúdo, transportar credenciais e orientar o uso de cache. Cada campo tem uma finalidade própria.
Ao receber uma resposta com uma imagem, o navegador precisa reconhecer o tipo do arquivo. O cabeçalho Content-Type pode declarar image/png, enquanto o corpo contém os bytes da imagem. A declaração e o conteúdo precisam ser compatíveis.
Esse cabeçalho não é a faixa visual no topo de uma página. O elemento HTML header pertence à estrutura do documento, enquanto os headers HTTP fazem parte da mensagem que transporta o documento ou outro recurso.
Content-Type e Accept têm funções distintas
Content-Type descreve o formato do conteúdo que acompanha aquela mensagem. Uma requisição pode declarar que envia JSON, e a resposta pode declarar o mesmo formato ou outro. A aplicação deve conferir cada sentido da troca separadamente.
Accept informa quais tipos de conteúdo o cliente aceita receber. Ele pode ser usado na negociação da representação devolvida, conforme o comportamento do serviço. Solicitar JSON nesse campo não garante que toda resposta, inclusive as produzidas por intermediários, terá esse formato.
Content-Type: application/json
Accept: application/json
Authorization: Bearer TOKEN_FICTICIOO trecho apresenta somente três cabeçalhos, sem constituir uma requisição completa. Authorization transporta uma credencial fictícia no exemplo. O servidor precisa validar a credencial e conferir o acesso permitido, em vez de aceitar a chamada apenas porque o campo existe.
Cabeçalhos na prática
Uma resposta de criação pode indicar em Location o endereço do recurso criado, enquanto Cache-Control orienta o armazenamento em cache. Ao investigar uma integração, confira os cabeçalhos relevantes junto com o corpo: o identificador pode estar no JSON e o endereço para consulta, em um campo da resposta.
Nem todo cabeçalho pode ser definido pela página
O navegador mantém o controle de campos como Host e Cookie, que o código da página não pode definir livremente nos cabeçalhos de uma chamada fetch. Por isso, copiar todos os campos de uma ferramenta de terminal para o JavaScript pode não reproduzir a requisição. Confira o envio efetivo na aba Network.
Na resposta entre origens, um cabeçalho visível na aba Network pode continuar inacessível ao JavaScript. Se a integração precisa ler um campo adicional como X-Total-Count, a API pode expô-lo com Access-Control-Expose-Headers: X-Total-Count, além de autorizar a leitura da resposta por CORS. Compare o campo recebido com o que o código consegue consultar.
Os nomes dos campos HTTP não diferenciam maiúsculas de minúsculas, enquanto os valores seguem a definição de cada cabeçalho. Preserve o conteúdo exigido pelo serviço, especialmente em credenciais, nas quais alterar um caractere pode invalidar a autenticação.
Como conferir o envio real
Abra a seção Headers de uma chamada na aba Network do navegador. Separe os campos enviados dos recebidos e compare-os com a documentação. O que aparece na configuração da aplicação pode diferir do que foi transmitido após a atuação do navegador ou de um intermediário.
Ao compartilhar uma captura para investigar o problema, remova tokens e cookies de sessão. Esses valores podem permitir acesso ao perfil autenticado. Para entender a parte transportada junto dos cabeçalhos, consulte body HTTP.
Dúvidas frequentes
Perguntas frequentes sobre Header HTTP
- Header HTTP é o cabeçalho visual da página?
- O cabeçalho visual pertence ao documento HTML. Header HTTP é um campo da mensagem que transporta esse documento ou outro recurso.
- Qual é a diferença entre Content-Type e Accept?
- Content-Type declara o formato do conteúdo daquela mensagem. Accept informa os tipos que o cliente aceita receber na resposta.
- Authorization garante acesso à operação?
- A presença do campo não concede acesso por si só. O servidor precisa validar a credencial e verificar as permissões do perfil ou serviço identificado.
- Maiúsculas alteram o nome de um header?
- Os nomes dos campos HTTP são insensíveis a maiúsculas e minúsculas. Essa propriedade não se aplica automaticamente aos valores, que precisam ser tratados conforme a definição de cada campo.
Para continuar
Recursos relacionados
Documentação
Mensagens HTTP na MDN
Explica como o corpo e os cabeçalhos participam das mensagens HTTP.
Abrir recursoDocumentação
Content-Type na MDN
Documenta o campo que declara o tipo do conteúdo enviado.
Abrir recursoDocumentação
Semântica HTTP na RFC 9110
Define a semântica dos campos, dos métodos e das respostas HTTP.
Abrir recursoSite de referência
Desenvolvimento Colaborativo da Dev Side Studio
Conheça o acompanhamento técnico ao vivo para comparar os cabeçalhos enviados e recebidos com o contrato da integração.
Abrir recursoAplicação na formação
Vibe Coding: Do Zero ao MVP
Cabeçalhos HTTP descrevem o conteúdo e transportam informações usadas no tratamento das chamadas da aplicação.
Conhecer a formação
Fontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.