O Que É um HTTP Status Code? O Resultado de Cada Requisição
Um HTTP status code é um número de três dígitos que um servidor retorna com cada resposta para reportar o resultado de uma requisição, agrupado em famílias que sinalizam sucesso, redirecionamento, erro do cliente ou erro do servidor.
Status codes são como um servidor diz a um cliente o que aconteceu. Como pipelines interagem com a web quase inteiramente por HTTP, ler status codes é a forma mais rápida de entender por que uma etapa passou ou falhou. Apenas o primeiro dígito já diz qual lado da conversa deu errado.
As cinco famílias
- 1xx informacional, raramente visto diretamente.
- 2xx sucesso, como 200 OK e 201 Created.
- 3xx redirecionamento para outra localização.
- 4xx erros do cliente, como 400, 401, 404.
- 5xx erros do servidor, como 500, 502, 503.
Falha do cliente versus do servidor
Um 4xx significa que sua requisição estava errada: entrada inválida, auth ausente ou um recurso ausente. Um 5xx significa que o servidor falhou em lidar com uma requisição válida. Essa divisão é a primeira coisa a checar quando uma chamada falha.
Passível de retry ou não
A maioria dos erros 4xx não é passível de retry porque a própria requisição precisa mudar, sendo o 429 a exceção notável. Muitos erros 5xx são transitórios e valem um retry após backoff.
Status codes em CI
Pipelines decidem o sucesso ou a falha de uma etapa de API pelo seu status code. Um 2xx prossegue, um 4xx geralmente falha rápido, e um 5xx pode acionar um retry antes de falhar.
Redirects podem surpreender você
Um redirect 3xx que um cliente não segue pode parecer uma falha. Ferramentas geralmente seguem redirects, mas um mal configurado pode descartar headers de auth ou entrar em loop.
Guiando a lógica de retry
Uma lógica de retry inteligente se baseia no status code: fazer backoff em 5xx e 429, falhar rápido em outros 4xx. Os runners da Latchkey aplicam exatamente essa distinção, fazendo retry de respostas 5xx e 429 transitórias a endpoints comuns enquanto expõem erros 4xx genuínos.
Principais conclusões
- Um HTTP status code reporta o resultado de uma requisição em cinco famílias numeradas.
- Um 4xx é falha do cliente e um 5xx é falha do servidor, o que orienta a depuração.
- 5xx e 429 são frequentemente passíveis de retry; outros erros 4xx precisam de uma requisição corrigida.