HTTP 204 No Content
Sucesso com um corpo intencionalmente vazio — a requisição funcionou, só não há nada para devolver.
O que significa o HTTP 204
HTTP 204 No Content sinaliza sucesso exatamente como 200, exceto que a resposta propositalmente não tem corpo. É a resposta idiomática para requisições DELETE, para atualizações PUT/PATCH em que retornar o objeto seria redundante, e para endpoints de beacon ou logging.
Como um 204 não deve conter corpo, fazer parsing JSON de uma resposta 204 no código do cliente (por exemplo chamando response.json() após fetch) lança um erro — um bug muito comum. Verifique o status antes de fazer o parsing.
Causas comuns de respostas 204
- Uma requisição DELETE removeu o recurso.
- Um PUT ou PATCH atualizou um recurso e o servidor optou por não ecoá-lo de volta.
- Um endpoint que apenas registra dados (beacons de analytics, health checks) confirmou o recebimento.
Boas práticas para desenvolvedores
- Nunca inclua um corpo de resposta com 204 — muitos servidores e proxies vão quebrar a conexão se você fizer isso.
- No código do cliente, ramifique com base no status 204 antes de chamar .json() ou .text().
- Se os clientes precisam da representação atualizada, retorne 200 com o corpo em vez de 204.
Exemplo de resposta
HTTP/1.1 204 No Content Data: Thu, 02 Jul 2026 10:00:00 GMT
Perguntas frequentes
Qual é a diferença entre 204 e 200 com um corpo vazio?
Na prática eles se comportam da mesma forma, mas 204 é explícito: a ausência de corpo é intencional e os clientes não devem tentar fazer parsing de nenhum.
Por que response.json() falha em um 204?
Uma resposta 204 não tem corpo algum, então não há nada para analisar. Verifique response.status === 204 antes de fazer o parsing.
DELETE deveria sempre retornar 204?
É a escolha mais comum. Retornar 200 com um corpo de confirmação também é válido se os clientes precisarem de detalhes sobre o que foi excluído.