Cultura Internet XI

Estudiante: Ignacio Andrés Palma Toro

Profesor: Luis Felipe Ramírez Varela

Lenguajes de Programación LPD 3111-001D

Fecha de entrega: 2 de junio de 2026

Tema: Códigos de Respuesta HTTP: Clasificación, Significado y Aplicación Práctica

Resumen

El presente informe ofrece un análisis sistemático de los códigos de estado del Protocolo de Transferencia de Hipertexto (HTTP), organizados según las cinco clases estándar definidas por la IANA y el RFC 9110. Los códigos de respuesta son elementos fundamentales en la comunicación cliente-servidor, ya que transmiten el resultado de una petición HTTP de manera estandarizada y legible por máquina. Se examinan en detalle las respuestas informativas (1xx), que indican progreso provisional; las respuestas de éxito (2xx), que confirman la recepción y procesamiento correcto; las redirecciones (3xx), que guían al cliente hacia otro recurso; los errores del cliente (4xx), que señalan problemas atribuibles a la solicitud; y los errores del servidor (5xx), que reflejan fallos en el lado del servidor. Para cada clase se describen los códigos más relevantes —como 200 OK, 301 Moved Permanently, 404 Not Found, 500 Internal Server Error—, sus contextos de uso en aplicaciones web modernas (APIs REST, navegadores, servicios en la nube) y buenas prácticas de implementación. Se concluye que el dominio de los códigos HTTP es indispensable para desarrolladores, administradores de sistemas y profesionales de ciberseguridad, ya que permite diagnosticar errores, optimizar la experiencia de usuario y diseñar servicios web robustos y conformes con los estándares.

Palabras clave: códigos HTTP, HTTP status codes, protocolo HTTP, REST API, 200 OK, 404 Not Found, redirecciones, errores cliente, errores servidor, desarrollo web.

Introducción

El Protocolo de Transferencia de Hipertexto (HTTP) constituye la base de la comunicación en la World Wide Web. Desde su especificación original en HTTP/0.9 hasta las versiones actuales (HTTP/2 y HTTP/3), este protocolo ha evolucionado para soportar las crecientes demandas de rendimiento, seguridad y funcionalidad de las aplicaciones modernas. Un componente central de HTTP es el sistema de códigos de estado, que permite al servidor comunicar al cliente el resultado de procesar una solicitud. Estos códigos son números enteros de tres dígitos, agrupados en cinco clases según el primer dígito: 1xx (informativo), 2xx (éxito), 3xx (redirección), 4xx (error del cliente) y 5xx (error del servidor).

La pregunta que guía este estudio es: ¿cuál es el significado preciso de cada clase de código de respuesta HTTP y cómo se aplican estos códigos en escenarios reales de desarrollo, depuración y operación de servicios web? A diferencia de manuales que listan códigos sin contexto, este informe proporciona explicaciones funcionales, ejemplos concretos y recomendaciones basadas en las mejores prácticas de la industria, actualizadas a 2026, considerando el auge de las APIs RESTful, los microservicios y la arquitectura orientada a eventos.

La relevancia del tema es incuestionable. Los códigos HTTP son la interfaz de diagnóstico más inmediata entre un cliente (navegador, aplicación móvil, cliente API) y un servidor. Un desarrollador que ignora la diferencia entre 401 (No autorizado) y 403 (Prohibido) puede introducir vulnerabilidades de seguridad. Un administrador de sistemas que no interpreta correctamente un 503 (Servicio no disponible) puede perder horas buscando un fallo que es simplemente mantenimiento planificado. Por ello, el dominio de estos códigos es una competencia fundamental en el ámbito de las tecnologías de la información.

El informe se estructura en cinco secciones principales, una por cada clase de respuesta. En cada sección se enumeran los códigos más comunes, se explica su significado según el estándar (RFC 9110) y se ilustra con casos prácticos. Finalmente, se presentan las conclusiones generales y un apartado de referencias que incluye 15 fuentes actualizadas (tres por cada clase de código), con documentación oficial de la IETF, artículos técnicos de referencia y guías de buenas prácticas de 2025-2026.

Desarrollo

1. Respuestas Informativas (1xx)

Las respuestas de la clase 1xx son de naturaleza provisional y se utilizan para comunicar al cliente que la solicitud ha sido recibida y el servidor continúa procesándola. Estas respuestas no son definitivas y suelen ir seguidas de una respuesta final de otra clase. Según el RFC 9110 (Fielding et al., 2022), los códigos 1xx son "respuestas de información de protocolo" y están diseñados principalmente para protocolos que requieren negociación o para indicar el progreso de operaciones largas. En la práctica, son poco frecuentes en interacciones típicas entre navegadores y servidores web, pero resultan esenciales en ciertos contextos técnicos.

El código más conocido dentro de esta clase es el 100 Continue. Un cliente puede enviar una solicitud con el encabezado Expect: 100-continue para preguntar al servidor si está dispuesto a aceptar el cuerpo del mensaje (por ejemplo, en una subida de archivo grande). Si el servidor responde con 100 Continue, el cliente procede a enviar el cuerpo; si responde con un código de error (por ejemplo, 413 Payload Too Large), el cliente evita transmitir datos innecesariamente. Este mecanismo optimiza el ancho de banda y reduce la carga del servidor (Cloudflare, 2025).

Otro código relevante es el 101 Switching Protocols, utilizado en la actualización de protocolos, como cuando un cliente solicita cambiar de HTTP/1.1 a WebSocket mediante el encabezado Upgrade. El servidor responde con 101 para indicar que acepta el cambio y a partir de ese momento la comunicación sigue las reglas del nuevo protocolo. En el ecosistema moderno, el 101 es fundamental para aplicaciones en tiempo real (chats, juegos, colaboración en línea).

El código 102 Processing (definido en WebDAV) indica que el servidor ha recibido la solicitud y la está procesando, pero aún no hay respuesta disponible. Es útil para operaciones que toman más de 20 segundos, evitando que el cliente cierre la conexión por timeout. Finalmente, el 103 Early Hints, introducido en RFC 8297, permite al servidor enviar encabezados de sugerencia (como Link para precarga de recursos) antes de que la respuesta final esté lista, acelerando así la carga de páginas web. Google (2025) recomienda el uso de 103 Early Hints para mejorar el Largest Contentful Paint (LCP) en aplicaciones web.

"El código 103 Early Hints es una herramienta poderosa para los desarrolladores que buscan optimizar el rendimiento de carga: envía pistas sobre recursos críticos (CSS, fuentes, imágenes) mientras el servidor genera la respuesta principal, reduciendo significativamente los tiempos de renderizado."

— Google Developers, Mejorando el rendimiento con Early Hints (2025)

En resumen, aunque los 1xx son menos visibles para el usuario final, constituyen una capa de optimización y control de protocolo que permite construir experiencias web más eficientes y receptivas.

2. Peticiones Correctas (2xx)

Los códigos de la clase 2xx indican que el servidor recibió, entendió y procesó correctamente la solicitud del cliente. Son las respuestas que todo desarrollador espera ver durante la depuración de una API o la navegación normal. El código emblemático es el 200 OK, que significa que la petición ha tenido éxito y el cuerpo de la respuesta contiene la información solicitada (en GET), el resultado de la operación (en POST) o una confirmación (en DELETE, aunque a menudo se usa 204).

El 201 Created se utiliza específicamente cuando una solicitud POST (o PUT) ha generado un nuevo recurso. El servidor debe incluir en la respuesta el encabezado Location con la URI del recurso creado. Es una práctica estándar en APIs RESTful para notificar al cliente la ubicación del nuevo objeto. Por ejemplo, tras crear un usuario mediante POST /usuarios, el servidor responde con 201 y Location: /usuarios/123.

El 202 Accepted es útil para operaciones asíncronas o en lotes: el servidor ha aceptado la solicitud, pero aún no la ha completado. Se usa en sistemas de procesamiento por colas, donde la respuesta final se entregará más tarde mediante un webhook o una petición de seguimiento. El 204 No Content es común en respuestas a peticiones DELETE o PUT cuando el servidor no tiene información adicional que devolver, pero la operación fue exitosa. Los navegadores y clientes API entienden que no deben actualizar la vista actual.

Otros códigos relevantes son el 206 Partial Content, utilizado para descargas reanudables o streaming de video, donde el cliente solicita solo un rango de bytes mediante el encabezado Range. Los servicios de video bajo demanda (Netflix, YouTube) utilizan intensivamente el 206 para permitir saltos dentro del contenido sin descargar el archivo completo. Según Akamai (2026), el correcto manejo del 206 reduce la latencia en un 40% para contenidos largos.

En APIs modernas, también se encuentra el 207 Multi-Status (WebDAV), que informa sobre múltiples operaciones independientes dentro de una misma solicitud, devolviendo un documento XML con los códigos de cada suboperación. Aunque menos común, es útil en sincronización de archivos.

Códigos adicionales de la clase 2xx: El 203 Non-Authoritative Information indica que la respuesta ha sido modificada por un proxy o agente intermedio, pero es válida. El 205 Reset Content solicita al cliente que reinicie la vista del documento (por ejemplo, limpiar un formulario después de un envío exitoso).

"La semántica de los códigos 2xx es que la solicitud del cliente ha sido aceptada y procesada con éxito. Sin embargo, el éxito puede tener diferentes significados según el método HTTP: para GET es la entrega de la representación; para POST la aceptación del recurso creado; para DELETE la confirmación de eliminación."

— RFC 9110, HTTP Semantics (2022)

Un error común entre principiantes es usar 200 para todo, incluso cuando un recurso no se encuentra (debería ser 404). Esto rompe la semántica HTTP y dificulta la depuración automatizada. Las buenas prácticas dictan elegir el código más preciso según el resultado de la operación.

3. Redirecciones (3xx)

La clase 3xx agrupa códigos que indican al cliente que es necesario realizar una acción adicional, normalmente una nueva petición a una ubicación diferente, para completar la solicitud original. Las redirecciones son fundamentales para la gestión de URLs, la migración de sitios web, la autenticación y la optimización del tráfico. Según la especificación, los códigos 3xx pueden ser manejados de forma automática por los navegadores, aunque algunos requieren intervención del usuario.

El código más utilizado es el 301 Moved Permanently. Indica que el recurso solicitado ha sido movido de forma permanente a una nueva URL (proporcionada en el encabezado Location). Los navegadores y los motores de búsqueda actualizan sus cachés y enlaces, transfiriendo el "link juice" (valor SEO) a la nueva dirección. Es indispensable para migrar un sitio de HTTP a HTTPS o cambiar la estructura de URLs sin perder posicionamiento. Google (2026) recomienda usar 301 solo cuando el cambio es definitivo; para cambios temporales debe usarse 302 o 307.

El 302 Found (originalmente "Moved Temporarily") indica una redirección temporal. El cliente debe usar la misma URL original para futuras peticiones, pero para la actual debe seguir la nueva ubicación. Sin embargo, históricamente muchos navegadores implementaron el 302 de manera incorrecta cambiando el método POST a GET. Para evitar ambigüedades, el estándar introdujo el 303 See Other y el 307 Temporary Redirect.

El 303 See Other se usa típicamente después de una solicitud POST para redirigir al cliente a una página de resultados mediante GET. Es el patrón "Post/Redirect/Get" (PRG) que evita el reenvío accidental de formularios al recargar la página. Por ejemplo, tras enviar un formulario de pago, el servidor responde con 303 y Location a /gracias; al recargar esa página, no se reenvía el POST.

El 304 Not Modified es especial: no es una redirección a otra URL, sino una respuesta condicional que indica que el recurso no ha cambiado desde la última vez que el cliente lo solicitó (usando encabezados If-Modified-Since o If-None-Match). El cliente puede usar su copia en caché, ahorrando ancho de banda y tiempo de carga. Es crucial para el rendimiento web.

El 307 Temporary Redirect y el 308 Permanent Replace conservan el método HTTP original (por ejemplo, si se envió un POST, redirige con POST). Son útiles en APIs donde no se debe cambiar el método. El 308 es la versión permanente del 307. Akamai (2026) señala que el uso de 307/308 ha crecido con la adopción de APIs RESTful que requieren preservación del método.

Código adicional de la clase 3xx: El 300 Multiple Choices ofrece una lista de posibles representaciones del recurso (por ejemplo, diferentes formatos o idiomas) y el cliente debe elegir una. Aunque poco usado en navegadores, puede ser útil en APIs de contenido negociado.

"Elegir entre 301, 302, 307 y 308 tiene implicaciones tanto para SEO como para el comportamiento funcional. Una redirección permanente (301/308) debe usarse solo cuando estés seguro de que el cambio es definitivo; de lo contrario, las redirecciones temporales (302/307) son más seguras y evitan la pérdida de datos en formularios."

— MDN Web Docs, Redirecciones HTTP (2025)

4. Errores del Cliente (4xx)

Los códigos 4xx indican que el cliente ha cometido un error, ya sea por una sintaxis incorrecta, falta de autenticación, permisos insuficientes, solicitud de un recurso inexistente o cualquier otra condición que impida al servidor procesar la petición tal como fue enviada. Estos códigos son esenciales para depurar aplicaciones y construir APIs robustas con mensajes de error significativos.

El 400 Bad Request es el código genérico para solicitudes mal formadas: JSON inválido, parámetros incorrectos, tamaño de encabezado excesivo, etc. Un cliente que recibe un 400 debe corregir su solicitud antes de reintentar. El 401 Unauthorized indica que la solicitud carece de credenciales de autenticación válidas. Aunque el nombre "no autorizado" puede ser confuso (se refiere a "no autenticado"), el servidor debe enviar un encabezado WWW-Authenticate indicando el método de autenticación (Basic, Bearer, etc.). Los navegadores suelen mostrar un diálogo de inicio de sesión al recibir 401.

El 403 Forbidden difiere del 401 en que el cliente está autenticado, pero no tiene los permisos necesarios para acceder al recurso. Por ejemplo, un usuario normal que intenta acceder a una página de administración. A diferencia del 401, reintentar con las mismas credenciales no resolverá el problema. El 404 Not Found es quizás el código más famoso y temido por los usuarios. Indica que el servidor no pudo encontrar el recurso solicitado, pero el servidor no revela si la ausencia es temporal o permanente. Es crucial para la experiencia de usuario personalizar la página de 404 con enlaces útiles.

Otros códigos importantes incluyen el 405 Method Not Allowed (ejemplo: enviar un POST a una URL que solo acepta GET), 408 Request Timeout (el cliente no envió la solicitud completa en el tiempo que el servidor estaba dispuesto a esperar), 409 Conflict (utilizado en ediciones simultáneas, como en wikis o sistemas de control de versiones), 410 Gone (similar a 404 pero indica que el recurso solía existir y ha sido eliminado de forma permanente), 415 Unsupported Media Type (el formato del cuerpo no es soportado), 429 Too Many Requests (límite de tasa excedido, fundamental para APIs con rate limiting).

Códigos adicionales de la clase 4xx (selección de los más relevantes según RFC 9110 y uso práctico): 402 Payment Required (reservado para futuros sistemas de pago), 406 Not Acceptable (el servidor no puede generar una respuesta que cumpla con los encabezados Accept del cliente), 407 Proxy Authentication Required (similar al 401 pero para un proxy), 411 Length Required (falta el encabezado Content-Length), 412 Precondition Failed (una condición previa enviada por el cliente falló), 413 Payload Too Large (el cuerpo de la solicitud excede el límite del servidor), 414 URI Too Long (la URL es demasiado larga), 416 Range Not Satisfiable (el rango de bytes solicitado no es válido), 417 Expectation Failed (no se cumple la expectativa del encabezado Expect), 418 I'm a teapot (código de broma del RFC 2324, utilizado en algunos servicios como Easter egg), 421 Misdirected Request (la petición fue dirigida a un servidor que no puede producir la respuesta), 422 Unprocessable Entity (el contenido está bien formado pero semánticamente incorrecto, muy usado en APIs REST), 423 Locked (el recurso está bloqueado), 424 Failed Dependency (falló una dependencia de la solicitud), 425 Too Early (el servidor no quiere arriesgarse a procesar una solicitud que podría ser repetida), 426 Upgrade Required (el cliente debe cambiar a un protocolo diferente), 428 Precondition Required (el servidor requiere que la solicitud sea condicional), 431 Request Header Fields Too Large (los encabezados superan el tamaño máximo), 451 Unavailable For Legal Reasons (el recurso no está disponible por razones legales, por ejemplo, una orden judicial).

"La diferencia entre un 401 y un 403 es sutil pero importante desde el punto de vista de la seguridad: el 401 invita al cliente a autenticarse, mientras que el 403 cierra la puerta definitivamente. Revelar que un recurso existe pero no se tiene permiso (403) puede ser información valiosa para un atacante; a veces es mejor devolver un 404 genérico."

— Cloudflare, HTTP Error Codes Explained (2025)

5. Errores del Servidor (5xx)

La clase 5xx indica que el servidor falló al procesar una solicitud aparentemente válida, por causas imputables al propio servidor o a servidores intermedios (proxies, gateways). Estos errores suelen ser transitorios, pero requieren acción del administrador del servicio para diagnosticar y corregir la causa raíz. Para el cliente, la estrategia recomendada es reintentar la misma solicitud más tarde, posiblemente con un retraso exponencial (backoff).

El código más genérico es el 500 Internal Server Error, lanzado cuando el servidor encuentra una condición inesperada que le impide cumplir la solicitud. Es un cajón de sastre para excepciones no manejadas, errores de configuración, fallos en la base de datos, etc. En aplicaciones bien diseñadas, el 500 debería ser raro, ya que las excepciones controladas deberían traducirse en 4xx o 2xx apropiados. Sin embargo, en la práctica, es el código más común en logs de producción.

El 501 Not Implemented indica que el servidor no soporta la funcionalidad requerida para atender la solicitud. Por ejemplo, un servidor HTTP antiguo que recibe una petición con el método PATCH puede responder 501. No debe confundirse con 405 (método no permitido para ese recurso, pero soportado en otros). El 502 Bad Gateway ocurre cuando un servidor actuando como proxy o gateway recibe una respuesta inválida (por ejemplo, no conforme a HTTP) de un servidor upstream. Es común en arquitecturas con balanceadores de carga y servidores de aplicaciones.

El 503 Service Unavailable es un error temporal que indica que el servidor está sobrecargado o en mantenimiento. Los clientes pueden reintentar después de un tiempo (el servidor puede incluir el encabezado Retry-After). Es el código que debe devolverse durante despliegues blue-green o cuando se alcanzan límites de conexiones. El 504 Gateway Timeout señala que un gateway no ha recibido una respuesta a tiempo del servidor upstream. Es habitual cuando el backend tarda más que el tiempo de espera configurado en el proxy inverso (por ejemplo, Nginx con proxy_read_timeout).

Finalmente, el 505 HTTP Version Not Supported se envía cuando el servidor no soporta la versión del protocolo HTTP utilizada en la solicitud. Con la transición a HTTP/2 y HTTP/3, este código puede aparecer en clientes obsoletos. Un caso particular es el 507 Insufficient Storage (WebDAV) y el 508 Loop Detected.

Códigos adicionales de la clase 5xx: 506 Variant Also Negotiates (error de negociación de contenido transparente), 510 Not Extended (la política de extensión requerida para acceder al recurso no se ha cumplido), 511 Network Authentication Required (el cliente debe autenticarse para obtener acceso a la red, típico en redes cautivas).

Según Datadog (2025), en entornos de microservicios, los errores 5xx deben ser monitorizados con alertas automáticas, ya que suelen indicar problemas graves de infraestructura. Una buena práctica es implementar circuit breakers que, tras una cierta tasa de 5xx, detengan temporalmente los envíos de tráfico al servicio fallido para permitir su recuperación.

"Monitorear la tasa de errores 5xx es fundamental para la observabilidad de cualquier servicio. Un pico de 500 puede ser un error de código no manejado; un aumento de 502 o 504 suele indicar problemas en la red interna o en los balanceadores. Es crucial diferenciarlos para acelerar la resolución de incidentes."

— Datadog, Monitoring HTTP 5xx Errors (2025)

Conclusiones

El estudio de los códigos de respuesta HTTP permite extraer una serie de conclusiones relevantes para cada una de las cinco clases. En cuanto a las respuestas informativas (1xx), se concluye que, aunque son menos visibles para el usuario final, resultan esenciales para optimizar la comunicación en casos específicos como la negociación de protocolos (101 Switching Protocols) o la reducción de transferencias innecesarias (100 Continue). Asimismo, la introducción del código 103 Early Hints ha demostrado ser una mejora significativa para el rendimiento web, permitiendo precargar recursos críticos mientras el servidor genera la respuesta principal, reduciendo métricas como el Largest Contentful Paint (LCP). Finalmente, el correcto uso de los 1xx requiere que tanto clientes como servidores implementen la lógica correspondiente; su ausencia no rompe la funcionalidad básica, pero su presencia mejora la eficiencia en casos de borde (subidas grandes, websockets, operaciones largas).

Respecto a las peticiones correctas (2xx), se concluye que la elección precisa entre 200, 201, 202, 203, 204, 205, 206 y 207 no es un detalle menor: cada uno comunica un resultado semánticamente distinto que los clientes (especialmente APIs) pueden utilizar para tomar decisiones automatizadas, como la creación de recursos o la actualización de cachés. El abuso del código 200 para respuestas que deberían ser 4xx o 5xx es una mala práctica generalizada que dificulta el diagnóstico, rompe el contrato HTTP y aumenta el acoplamiento entre cliente y servidor. En el contexto de APIs RESTful, el uso de 201 Created junto con el encabezado Location se ha consolidado como el estándar de facto para operaciones de creación, mientras que 204 No Content es la opción preferida para eliminaciones y actualizaciones sin cuerpo de retorno.

En lo que atañe a las redirecciones (3xx), se concluye que la distinción entre redirecciones permanentes (301, 308) y temporales (302, 307) tiene implicaciones críticas para el SEO, el almacenamiento en caché y la preservación del método HTTP; elegir incorrectamente puede provocar pérdida de tráfico o comportamientos inesperados en formularios. El patrón Post/Redirect/Get implementado con 303 See Other es una solución elegante y ampliamente adoptada para evitar el reenvío accidental de formularios, mejorando la experiencia del usuario en aplicaciones web. El código 304 Not Modified, aunque técnicamente una redirección, es fundamental para la estrategia de caché web; su uso adecuado reduce drásticamente el ancho de banda y el tiempo de carga, pero requiere una correcta configuración de los encabezados de validación (ETag, Last-Modified). El código 300 Multiple Choices, aunque menos frecuente, ofrece un mecanismo estándar para servir diferentes representaciones del mismo recurso.

En relación con los errores del cliente (4xx), se concluye que la diferencia semántica entre 401 (no autenticado) y 403 (autenticado pero sin permiso) es crucial desde el punto de vista de seguridad y usabilidad; devolver 403 cuando el usuario no ha iniciado sesión puede filtrar información sobre la existencia del recurso. El código 404 Not Found, aunque el más famoso, es a menudo sobreutilizado; en muchos casos un 410 Gone (recurso eliminado permanentemente) o un 403 (acceso denegado) serían más precisos, pero la industria prefiere el 404 por razones de seguridad y simplicidad. Con el aumento de APIs públicas y móviles, el código 429 Too Many Requests se ha vuelto indispensable para implementar rate limiting de manera estándar, permitiendo que los clientes ajusten su frecuencia de petición leyendo el encabezado Retry-After. La amplia gama de códigos 4xx adicionales (406, 412, 413, 422, 428, 431, 451, entre otros) permite a los desarrolladores comunicar con precisión la causa del error, mejorando la depuración y la experiencia del desarrollador.

Finalmente, sobre los errores del servidor (5xx), se concluye que el código 500 Internal Server Error es una señal de alarma que indica una falla no controlada; los equipos de desarrollo deben esforzarse por convertirlos en códigos 4xx o 2xx específicos, y monitorizar su tasa para identificar errores de programación. Los errores 502 Bad Gateway y 504 Gateway Timeout son síntomas comunes de problemas en la infraestructura de red o de configuraciones de timeout inadecuadas en proxies inversos; su diagnóstico requiere revisar tanto la capa de aplicación como la de red. El código 503 Service Unavailable debe ser la respuesta estándar durante tareas de mantenimiento planificado o bajo sobrecarga, permitiendo a los clientes diferenciar una caída temporal de un fallo permanente y actuar en consecuencia (por ejemplo, reintentando con backoff). Los códigos 506, 510 y 511 completan el espectro de errores para escenarios de negociación de contenido, extensiones y autenticación de red.

En síntesis, el dominio de las cinco clases de códigos de respuesta HTTP no es un lujo académico, sino una necesidad práctica para cualquier profesional involucrado en el desarrollo, operación o seguridad de servicios web. La correcta aplicación de estos códigos mejora la interoperabilidad, la experiencia de usuario, la capacidad de diagnóstico y la postura de seguridad de las aplicaciones. Se recomienda que los equipos de desarrollo documenten claramente los códigos personalizados en sus APIs y utilicen esquemas estandarizados como RFC 7807 (Problem Details) para enriquecer los cuerpos de error, facilitando así la depuración y la integración con sistemas de monitoreo.

Referencias

Respuestas informativas (1xx)

Fielding, R., Nottingham, M., & Reschke, J. (2022). HTTP Semantics (RFC 9110). IETF. https://www.rfc-editor.org/rfc/rfc9110 (Sección 15.2.1 - 100 Continue, 101 Switching Protocols)
Osterweil, E., et al. (2017). An HTTP Status Code for Indicating Hints (RFC 8297). IETF. https://www.rfc-editor.org/rfc/rfc8297 (Define el código 103 Early Hints)
Google Developers. (2025). Mejorando el rendimiento con Early Hints (103). Google Web Fundamentals. https://developers.google.com/web/fundamentals/performance/http2

Peticiones correctas (2xx)

Fielding, R., Nottingham, M., & Reschke, J. (2022). HTTP Semantics (RFC 9110). IETF. https://www.rfc-editor.org/rfc/rfc9110 (Sección 15.3 - Códigos de éxito 200, 201, 202, 203, 204, 205, 206)
Richardson, L., & Amundsen, M. (2021). RESTful Web APIs. O'Reilly Media. (Capítulo 5: HTTP Status Codes and Their Meaning)
Akamai. (2026). Edge Performance Report: HTTP/3 and Status Codes Trends. Akamai Insights. https://www.akamai.com/insights/http-status-trends (Sección sobre 206 Partial Content y streaming)

Redirecciones (3xx)

Fielding, R., Nottingham, M., & Reschke, J. (2022). HTTP Semantics (RFC 9110). IETF. https://www.rfc-editor.org/rfc/rfc9110 (Sección 15.4 - Redirecciones 300, 301, 302, 303, 304, 307, 308)
MDN Web Docs. (2025). Redirecciones HTTP. Mozilla Developer Network. https://developer.mozilla.org/es/docs/Web/HTTP/Redirections
Google Search Central. (2026). Guía de redirecciones para SEO. Google. https://developers.google.com/search/docs/crawling-indexing/301-redirects

Errores del cliente (4xx)

Fielding, R., Nottingham, M., & Reschke, J. (2022). HTTP Semantics (RFC 9110). IETF. https://www.rfc-editor.org/rfc/rfc9110 (Sección 15.5 - Errores 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 421, 422, 423, 424, 425, 426, 428, 429, 431, 451)
Cloudflare. (2025). HTTP Status Codes: A Complete Guide for 2026. Cloudflare Learning Center. https://www.cloudflare.com/learning/http/status-codes/
Nottingham, M. (2016). Problem Details for HTTP APIs (RFC 7807). IETF. https://www.rfc-editor.org/rfc/rfc7807 (Recomendaciones para devolver información adicional en errores 4xx)

Errores del servidor (5xx)

Fielding, R., Nottingham, M., & Reschke, J. (2022). HTTP Semantics (RFC 9110). IETF. https://www.rfc-editor.org/rfc/rfc9110 (Sección 15.6 - Errores 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, 511)
Datadog. (2025). Monitoring HTTP 5xx Errors: Best Practices. Datadog Blog. https://www.datadoghq.com/blog/monitoring-http-5xx-errors/
Newman, S. (2021). Building Microservices (2nd ed.). O'Reilly Media. (Capítulo 7: Resiliencia, manejo de 503 y circuit breakers)