Fale sobre os códigos de status HTTP.
sobes.tech IA
Resposta da IA
Os códigos de estado HTTP são números de três dígitos devolvidos pelo servidor em resposta a uma solicitação do cliente. Indicam o resultado da solicitação e fornecem informações sobre como o cliente deve processar a resposta.
Os códigos de estado são divididos em cinco classes:
- 1xx — Informativos: A solicitação foi aceite, o processamento continua.
- 2xx — Bem-sucedidos: A solicitação foi processada com sucesso.
- 3xx — Redirecionamento: São necessárias ações adicionais para completar a solicitação.
- 4xx — Erro do cliente: A solicitação contém um erro de sintaxe ou não pode ser processada.
- 5xx — Erro do servidor: O servidor não conseguiu processar a solicitação corretamente.
Alguns códigos de estado mais comuns:
| Código | Descrição | Classe |
|---|---|---|
| 200 | OK | Bem-sucedidos |
| 201 | Criado | Bem-sucedidos |
| 204 | Sem conteúdo | Bem-sucedidos |
| 301 | Movido Permanentemente | Redirecionamento |
| 302 | Encontrado | Redirecionamento |
| 400 | Requisição malformada | Erro do cliente |
| 401 | Não autorizado | Erro do cliente |
| 403 | Proibido | Erro do cliente |
| 404 | Não encontrado | Erro do cliente |
| 500 | Erro interno do servidor | Erro do servidor |
| 503 | Serviço Indisponível | Erro do servidor |
Ao testar uma API, é importante verificar se os códigos de estado corretos são devolvidos em resposta a várias solicitações (bem-sucedidas, com erros de validação, com dados incorretos, etc.) para garantir um comportamento previsível do sistema.
Por exemplo, ao criar um recurso espera-se 201, ao obter dados com sucesso 200, ao solicitar um recurso inexistente 404, e em caso de erro no servidor 500.
Exemplo de verificação do código de estado num teste automático (em Python usando requests):
import requests
url = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.get(url)
# Verificar se a requisição devolveu o estado 200 OK
assert response.status_code == 200