Códigos de Estado HTTP en APIs REST

2025-03-13

Cuando trabajamos con APIs REST, los códigos de estado HTTP son esenciales para indicar el resultado de una solicitud. Estos códigos permiten que los clientes (navegadores, aplicaciones, otros servidores) comprendan si una solicitud fue exitosa, tuvo un error o requiere alguna acción adicional.

En este artículo, exploraremos todos los códigos de estado HTTP, organizados por categorías, con ejemplos y cuándo usarlos correctamente.

 

¿Qué son los códigos de estado HTTP?

 

Los códigos de estado HTTP son respuestas estándar que los servidores envían después de procesar una solicitud. Cada código consta de tres dígitos y pertenece a una de cinco categorías:

1xx – Informativos: Comunicación en curso.
2xx – Éxito: La solicitud se procesó correctamente.
3xx – Redirecciones: La solicitud requiere acciones adicionales.
4xx – Errores del cliente: El problema está en la solicitud enviada.
5xx – Errores del servidor: El problema está en el servidor.

 

Códigos de estado 1xx – Respuestas Informativas

 

Estos códigos indican que el servidor recibió la solicitud y la está procesando, pero no hay una respuesta final aún.

Código Significado Cuándo usarlo
100 Continue El servidor recibió los encabezados y espera el cuerpo de la solicitud. Se usa en cargas grandes para confirmar que el servidor aceptará la solicitud antes de enviarla completamente.
101 Switching Protocols El servidor acepta cambiar a un protocolo diferente, como WebSockets. Se usa cuando un cliente solicita cambiar a un protocolo diferente con Upgrade.
102 Processing El servidor ha recibido la solicitud y la está procesando, pero aún no hay respuesta. Se usa en operaciones largas, como procesamiento de datos.
103 Early Hints El servidor envía encabezados preliminares antes de la respuesta final. Se usa para optimizar la carga de recursos antes de recibir la respuesta completa.

 

Códigos de estado 2xx – Respuestas de Éxito

 

Estos códigos indican que la solicitud fue procesada correctamente.

Código Significado Cuándo usarlo
200 OK La solicitud fue exitosa y devuelve el recurso solicitado. Se usa en GET, POST, PUT, PATCH, y DELETE si la respuesta tiene contenido.
201 Created Un recurso nuevo fue creado exitosamente. Se usa en POST cuando se crea un nuevo recurso.
202 Accepted La solicitud fue aceptada pero aún no procesada. Se usa cuando el procesamiento es asíncrono.
203 Non-Authoritative Information La respuesta fue obtenida de un origen diferente al servidor principal. Se usa en proxys o cachés que devuelven información diferente a la esperada.
204 No Content La solicitud fue exitosa, pero no hay contenido en la respuesta. Se usa en DELETE cuando el recurso fue eliminado.
205 Reset Content La solicitud fue exitosa y el cliente debe resetear la vista. Se usa en formularios o interfaces que requieren reiniciarse después de una acción.
206 Partial Content Se devuelve solo una parte del recurso solicitado. Se usa en cargas de archivos cuando un cliente solicita un rango específico de bytes.

 

Códigos de estado 3xx – Redirecciones

 

Estos códigos indican que la solicitud requiere acciones adicionales, como redirigir al cliente a otra URL.

Código Significado Cuándo usarlo
300 Multiple Choices Hay múltiples opciones para el recurso solicitado. Se usa cuando un recurso tiene múltiples representaciones.
301 Moved Permanently El recurso fue movido permanentemente a otra URL. Se usa en cambios de URL permanentes.
302 Found La URL ha cambiado temporalmente. Se usa cuando un recurso se mueve temporalmente.
303 See Other El recurso solicitado se encuentra en otra URL. Se usa en POST para redirigir a otra URL después de una acción exitosa.
304 Not Modified Indica que el recurso no ha cambiado desde la última vez que fue solicitado. Se usa en caché para optimizar tráfico.
307 Temporary Redirect Similar a 302, pero el método HTTP no cambia. Se usa en redirecciones temporales.
308 Permanent Redirect Similar a 301, pero conserva el método HTTP. Se usa en redirecciones permanentes.

 

Códigos de estado 4xx – Errores del Cliente

 

Estos códigos indican que el error proviene del cliente (navegador o aplicación).

Código Significado Cuándo usarlo
400 Bad Request La solicitud tiene errores de sintaxis o parámetros inválidos. Se usa cuando faltan datos obligatorios o hay formato incorrecto.
401 Unauthorized La solicitud requiere autenticación. Se usa cuando el usuario no está autenticado.
402 Payment Required Requiere pago para acceder al recurso. Se usa en sistemas con contenido de pago.
403 Forbidden El usuario no tiene permisos para acceder al recurso. Se usa cuando el usuario no tiene autorización suficiente.
404 Not Found El recurso solicitado no existe. Se usa cuando la URL no corresponde a ningún recurso.
405 Method Not Allowed El método HTTP usado no es válido para este recurso. Se usa cuando un POST o PUT no están permitidos en una ruta específica.
409 Conflict La solicitud genera un conflicto con el estado actual del servidor. Se usa en POST cuando se intenta crear un recurso duplicado.

 

Códigos de estado 5xx – Errores del Servidor

 

Estos códigos indican que el servidor falló al procesar la solicitud.

Código Significado Cuándo usarlo
500 Internal Server Error Error interno en el servidor. Se usa cuando ocurre una falla inesperada en el backend.
501 Not Implemented El servidor no reconoce el método de la solicitud. Se usa cuando el servidor no tiene soporte para una funcionalidad.
502 Bad Gateway El servidor recibió una respuesta inválida de otro servidor. Se usa cuando un servidor actúa como proxy y falla la comunicación con el backend.
503 Service Unavailable El servidor está sobrecargado o en mantenimiento. Se usa cuando la API está temporalmente fuera de servicio.
504 Gateway Timeout El servidor no recibió respuesta a tiempo de otro servicio. Se usa cuando una API externa tarda demasiado en responder.
505 HTTP Version Not Supported La versión de HTTP usada en la solicitud no es compatible. Se usa en servidores que solo soportan versiones específicas de HTTP.

 

Últimas publicaciones

Códigos de Estado HTTP en APIs REST

13/03/2025

Ver articulo

Preflight Requests en CORS: Qué son y cómo funcionan

13/03/2025

Ver articulo

Idempotencia en APIs REST: Qué es y por qué es importante

13/03/2025

Ver articulo
Whatsapp Mentores Tech