Junior
¿Qué son los códigos de respuesta HTTP y en qué se diferencian entre sí?
sobes.tech AI
Respuesta de la IA
Los códigos de respuesta HTTP son números de tres dígitos que devuelve el servidor en respuesta a una solicitud del cliente. Indican el estado del procesamiento de la solicitud y proporcionan información sobre si se completó con éxito, si ocurrió un error o si se requiere una acción adicional.
Los códigos se dividen en cinco clases:
- 1xx (Informativos): La solicitud ha sido aceptada y el procesamiento continúa.
- 2xx (Exitosos): La solicitud fue recibida, entendida y procesada con éxito.
- 3xx (Redirecciones): El cliente debe realizar acciones adicionales para completar la solicitud.
- 4xx (Errores del cliente): La solicitud contiene un error de sintaxis o no puede ser procesada.
- 5xx (Errores del servidor): El servidor no pudo completar la solicitud.
Las diferencias entre los códigos radican en su semántica, relacionada con las diferentes etapas del procesamiento de la solicitud y los posibles resultados.
Ejemplos de códigos comúnmente utilizados:
| Código | Descripción | Clase |
|---|---|---|
| 200 | OK | Exitosos |
| 201 | Creado | Exitosos |
| 301 | Movido Permanentemente | Redirecciones |
| 302 | Encontrado | Redirecciones |
| 400 | Solicitud incorrecta | Errores del cliente |
| 401 | No autorizado | Errores del cliente |
| 403 | Prohibido | Errores del cliente |
| 404 | No encontrado | Errores del cliente |
| 500 | Error interno del servidor | Errores del servidor |
| 503 | Servicio no disponible | Errores del servidor |
// Ejemplo de manejo de respuesta HTTP en JavaScript
fetch('/api/data')
.then(response => {
if (response.ok) { // Verificación de estado exitoso (2xx)
return response.json();
} else {
// Manejo de errores basado en el código de estado
console.error(`Error HTTP: ${response.status}`);
if (response.status === 404) {
console.error('Recurso no encontrado.');
}
throw new Error(`Error HTTP: ${response.status}`);
}
})
.then(data => {
console.log('Datos recibidos:', data);
})
.catch(error => {
console.error('Error al cargar datos:', error);
});