Junior
O que são os códigos de resposta HTTP e em que se diferenciam uns dos outros?
sobes.tech IA
Resposta da IA
Os códigos de resposta HTTP são números de três dígitos devolvidos pelo servidor em resposta a uma solicitação do cliente. Indicam o estado do processamento da solicitação e fornecem informações sobre se foi bem-sucedida, se ocorreu um erro ou se é necessária uma ação adicional.
Os códigos são divididos em cinco classes:
- 1xx (Informativos): A solicitação foi aceite, o processamento continua.
- 2xx (Bem-sucedidos): A solicitação foi recebida, compreendida e processada com sucesso.
- 3xx (Redirecionamentos): O cliente precisa realizar ações adicionais para completar a solicitação.
- 4xx (Erros do cliente): A solicitação contém um erro de sintaxe ou não pode ser processada.
- 5xx (Erros do servidor): O servidor não conseguiu completar a solicitação.
As diferenças entre os códigos residem na sua semântica, relacionada às diferentes etapas do processamento da solicitação e aos resultados possíveis.
Exemplos de códigos frequentemente utilizados:
| Código | Descrição | Classe |
|---|---|---|
| 200 | OK | Bem-sucedidos |
| 201 | Criado | Bem-sucedidos |
| 301 | Movido Permanentemente | Redirecionamentos |
| 302 | Encontrado | Redirecionamentos |
| 400 | Requisição mal formada | Erros do cliente |
| 401 | Não autorizado | Erros do cliente |
| 403 | Proibido | Erros do cliente |
| 404 | Não encontrado | Erros do cliente |
| 500 | Erro interno do servidor | Erros do servidor |
| 503 | Serviço indisponível | Erros do servidor |
// Exemplo de manipulação de resposta HTTP em JavaScript
fetch('/api/data')
.then(response => {
if (response.ok) { // Verificação de status bem-sucedido (2xx)
return response.json();
} else {
// Manipulação de erros com base no código de status
console.error(`Erro HTTP: ${response.status}`);
if (response.status === 404) {
console.error('Recurso não encontrado.');
}
throw new Error(`Erro HTTP: ${response.status}`);
}
})
.then(data => {
console.log('Dados recebidos:', data);
})
.catch(error => {
console.error('Erro ao carregar dados:', error);
});