Sobes.tech
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);
  });