Sucesso, sem nada para devolver.
Quando usar
Um DELETE ou PUT que não retorna corpo.
Bom saber
Um 204 não pode ter corpo. Se o seu framework escrever JSON mesmo assim, clientes e proxies HTTP/1.1 podem ler os bytes extras como o início da próxima resposta, o que quebra conexões keep-alive de formas confusas. No fetch, response.ok é true para 204, mas response.json() lança um erro no corpo vazio, então verifique o status 204 antes de fazer o parse.
Em um navegador, um link ou envio de formulário que retorna 204 deixa a página atual intacta: sem navegação, sem erro. Isso o torna útil para beacons e endpoints de rastreamento. O 204 também é a resposta usual a uma requisição OPTIONS de preflight CORS. Não o use para um GET que não encontrou nada; retorne 404, ou 200 com uma lista vazia, para que os clientes consigam diferenciar os casos.
Sucesso (2xx)
Os códigos 2xx indicam sucesso: o servidor recebeu, entendeu e aceitou a requisição.
Como fica
HTTP/1.1 204 No ContentComo enviar
| Node.js / Express | res.status(204).end() |
|---|---|
| Python / Flask | return '', 204 |
| nginx | return 204; |
Como verificar
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/