HTTP 500 Internal Server Error (Erro interno do servidor)
O servidor encontrou uma situação inesperada e não conseguiu atender.
Ficha rápida
| Código | 500 |
|---|---|
| Nome oficial (em inglês) | Internal Server Error |
| Nome em português | Erro interno do servidor |
| Grupo | Erro do servidor (5xx) |
| Definido em | RFC 9110, Section 15.6.1 |
| Quem costuma gerar | O servidor, ou um gateway ou proxy no caminho, quando a falha está do lado do serviço. |
O que significa
É o erro genérico do servidor: algo inesperado aconteceu e ele não conseguiu atender, sem uma categoria mais específica. O problema não está na requisição em si, e o cliente pouco pode fazer além de tentar de novo ou avisar quem mantém o serviço.
Quando o servidor devolve esse código
- Exceção não tratada no código do servidor.
- Falha ao acessar o banco de dados ou outro serviço.
Problemas comuns
- Bug no servidor.
- Dado inesperado que o código não previu.
- Configuração errada em produção.
Como resolver
- Quem consome: tente novamente depois e reporte com o horário e a requisição.
- Quem mantém: veja os logs do servidor no horário do erro.
- Troque o 500 por um código específico quando a causa é conhecida, como 503 para indisponibilidade.
Em automações e integrações
A política de repetição padrão descrita na documentação também cobre respostas 5xx. Se o erro persistir depois das tentativas, o fluxo falha: registre a resposta completa e avise o responsável pela API.
Não confunda com outros códigos
Não confunda com 502, 503 e 504, que dizem mais sobre onde está o problema (gateway, indisponibilidade ou tempo esgotado).
Exemplo de resposta
HTTP/1.1 500 Internal Server Error
O exemplo é ilustrativo: o corpo e os cabeçalhos reais mudam de servidor para servidor. O código e o nome seguem o padrão HTTP.
Perguntas frequentes
500 é culpa de quem?
Do servidor. A requisição, em geral, estava correta.
Devo repetir a requisição?
Pode, com espera. Se o erro persiste, o problema precisa ser corrigido no servidor.