O que uma requisição HTTP comunica
Requisição HTTP é a mensagem que um cliente envia para solicitar uma operação a um servidor. Abrir uma página, consultar um catálogo e enviar um formulário são situações que podem produzir requisições. A mensagem informa o recurso pretendido e a ação solicitada, além das informações necessárias para executá-la.
Ao pesquisar um produto, por exemplo, você digita um termo na interface. A aplicação pode enviar esse termo ao servidor para buscar os itens correspondentes. O texto digitado faz parte da comunicação, mas a requisição também precisa indicar qual serviço deve receber a consulta.
Uma página costuma provocar várias requisições. O navegador pode buscar o HTML, as imagens e os arquivos de estilo em chamadas separadas. Por isso, uma falha na imagem não significa necessariamente que a requisição do documento principal também falhou.
Método, endereço, cabeçalhos e corpo
O método HTTP expressa a finalidade da chamada. GET solicita uma representação de um recurso, como a lista de produtos. POST solicita que o servidor processe o conteúdo enviado, o que pode criar um cadastro ou iniciar outra operação prevista pela aplicação.
A URL identifica o destino e pode carregar parâmetros de consulta. Em /produtos?categoria=livros, o caminho é /produtos, e categoria=livros é um parâmetro. A aplicação precisa reconhecer esse nome para aplicar o filtro esperado.
Os cabeçalhos descrevem aspectos da mensagem, como o formato declarado em Content-Type. No cadastro do exemplo abaixo, esse campo indica JSON, e o corpo contém o nome e o email que serão interpretados pelo servidor. Outras chamadas podem transportar formulários ou arquivos, conforme o contrato da API.
Essas partes não são intercambiáveis. Se a documentação exige um campo no corpo, colocá-lo apenas na URL pode não atender à operação. Da mesma forma, declarar JSON no cabeçalho não converte automaticamente um texto qualquer para esse formato.
Exemplo de envio de um contato
O trecho abaixo representa uma requisição HTTP/1.1 para fins didáticos.
POST /contatos HTTP/1.1Host: api.example.comContent-Type: application/json
{"nome":"Ana","email":"ana@example.com"}O exemplo usa um domínio reservado para documentação e omite detalhes de transporte. Você normalmente fornece os campos a uma biblioteca HTTP ou ao navegador, que prepara a mensagem completa. A notação HTTP/1.1 permite visualizar as partes, embora versões posteriores do protocolo usem outra representação na conexão.
Enviar não é confirmar o resultado
Uma requisição enviada pode receber uma resposta de erro. Também pode ocorrer uma interrupção antes que o retorno chegue ao cliente. Nesse segundo caso, o servidor pode ter executado a ação solicitada, mesmo que a interface tenha parado de esperar.
Antes de repetir uma operação que cria registros, confira como o serviço trata reenvios. Algumas APIs oferecem uma chave de idempotência para reconhecer tentativas da mesma operação. O uso dessa chave segue o contrato específico do serviço.
Como conferir uma requisição
Abra a aba Network, ou Rede, nas ferramentas do navegador e reproduza a ação em desenvolvimento. Confira o método, o endereço, os cabeçalhos relevantes e os campos enviados. Compare os nomes e os formatos com a documentação da API.
Depois, leia a resposta HTTP correspondente. Um retorno inesperado pode resultar tanto da montagem da mensagem quanto do processamento no servidor. Alterar o método por tentativa, sem conferir o contrato, pode chamar uma operação diferente da pretendida.
Dúvidas frequentes
Perguntas frequentes sobre Requisição
- O que compõe uma requisição HTTP?
- Uma requisição identifica o método e o destino e pode incluir cabeçalhos e corpo. Parâmetros de consulta fazem parte da URL, enquanto o corpo carrega o conteúdo previsto para a ação solicitada.
- Qual é a diferença entre GET e POST?
- GET solicita uma representação de um recurso. POST solicita o processamento do conteúdo enviado conforme a função do recurso, o que pode incluir a criação de um registro.
- Toda requisição recebe uma resposta?
- O protocolo prevê uma resposta, mas falhas de conexão podem impedir sua chegada ao cliente. Um timeout não informa, sozinho, se o servidor executou a ação solicitada.
- Como conferir o que o navegador enviou?
- Use a aba Network, ou Rede, das ferramentas de desenvolvimento. Selecione a chamada para consultar o método, o endereço, os cabeçalhos e o conteúdo enviado.
Para continuar
Recursos relacionados
Documentação
Mensagens HTTP na MDN
Apresenta as partes de uma requisição e de uma resposta HTTP.
Abrir recursoDocumentação
Semântica HTTP na RFC 9110
Define os métodos, os códigos de status e o significado das mensagens HTTP.
Abrir recursoSite de referência
Desenvolvimento Colaborativo da Dev Side Studio
Conheça o acompanhamento técnico ao vivo para conferir método, destino e campos de uma requisição enviada pela sua aplicação.
Abrir recursoAplicação na formação
Vibe Coding: Do Zero ao MVP
Requisições levam consultas e campos da interface às funções executadas pelo backend.
Conhecer a formação
Fontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.