Estás navegando por la web y una página se carga al instante. Lo que quizás no te des cuenta es que la imagen que estás viendo, la hoja de estilo que le da formato a la página o el script que la hace interactiva muy probablemente no provienen directamente del servidor original del sitio web. Vinieron de un intermediario: un proxy de caché o una Red de Entrega de Contenidos (CDN) como Cloudflare o Akamai.
Esta infraestructura entre bastidores es lo que hace que la web moderna sea rápida y escalable. Pero también introduce una capa de complejidad: ¿cómo comunica el sistema que una respuesta ha sido modificada o servida desde una fuente diferente a la de origen?
Si alguna vez has navegado por la web o trabajado con APIs, es posible que hayas encontrado varios códigos de estado HTTP. La mayoría de la gente está familiarizada con los comunes como 200 OK o 404 Not Found, pero ¿qué pasa con los menos comunes como 203 Non-Authoritative Information? En esta entrada de blog, exploraremos qué significa el código de estado 203, cuándo aparece y por qué es importante, especialmente para los desarrolladores y usuarios de API que desean comprender los matices de la comunicación web.
Este es el trabajo de nicho de uno de los códigos de estado más oscuros y rara vez vistos de HTTP: 203 Non-Authoritative Information
.
Este código de estado es la forma en que el servidor (o, más precisamente, el proxy) dice: "Oye, te estoy dando lo que pediste, pero debes saber que no soy la fuente original y que podría haberle hecho algunos cambios en el camino".
Es el equivalente digital de recibir un memorándum del asistente de tu jefe. La información es válida y proviene del lugar correcto, pero ha sido parafraseada o resumida, no una cita directa y textual del propio jefe.
Si eres un desarrollador que trabaja con proxies, CDN o gateways de API, comprender este código es clave para un dominio profundo de HTTP.
Y antes de sumergirnos en los detalles, si estás construyendo o probando APIs que se encuentran detrás de gateways y proxies, necesitas una herramienta que te brinde una visibilidad profunda de toda la conversación HTTP. Descarga Apidog gratis; es una plataforma API todo en uno que te permite inspeccionar cada encabezado y código de estado, ayudándote a depurar interacciones complejas que involucran intermediarios.
Ahora, desglacemos todo lo que necesitas saber sobre 203 Non-Authoritative Information en términos sencillos.
El elenco de personajes en una solicitud web
Para entender 203
, necesitamos comprender el viaje típico de una solicitud web, que rara vez es una simple conversación bidireccional.
- El Cliente (Tú): Tu navegador web o aplicación está realizando una solicitud.
- El Servidor de Origen: La fuente última de la verdad, el servidor que aloja el sitio web o la API.
- El Intermediario: Esto puede ser varias cosas:
- Un Proxy Inverso / Balanceador de Carga: Se sitúa delante de los servidores de origen para distribuir el tráfico y mejorar el rendimiento.
- Una CDN (Red de Entrega de Contenidos): Una red globalmente distribuida de proxies que almacenan contenido en caché cerca de los usuarios.
- Un API Gateway: Un único punto de entrada para APIs que puede manejar autenticación, limitación de velocidad y transformación de solicitudes.
El código de estado 203
es generado por este intermediario, no por el servidor de origen.
¿Qué significa HTTP 203 Non-Authoritative Information?
La definición oficial (de RFC 7231) establece que una respuesta 203
significa:
La solicitud fue exitosa, pero la carga útil adjunta ha sido modificada con respecto a la respuesta 200 OK del servidor de origen por un proxy transformador.
Desglacemos las frases clave:
- "La solicitud fue exitosa...": Este es un código de éxito, parte de la familia 2xx. El cliente obtuvo una respuesta válida.
- "...modificada con respecto a la respuesta 200 OK del servidor de origen...": Este es el núcleo del mensaje. El cuerpo de la respuesta que recibió el cliente no es exactamente lo que el servidor de origen habría enviado.
- "...por un proxy transformador.": Este es el actor responsable del cambio. Un "proxy transformador" es cualquier intermediario que altera la respuesta.
En esencia, el intermediario está siendo transparente. Está diciendo: "No soy el servidor de origen y le he hecho algo a esta respuesta antes de entregártela".
En términos sencillos, una respuesta 203 indica que el servidor procesó la solicitud con éxito, de forma similar al estado 200 OK. Sin embargo, la información devuelta proviene de un tercero o de alguna otra fuente en la que el servidor confía pero que no controla oficialmente. Por lo tanto, la información puede haber sido modificada o aumentada por el proxy o gateway antes de enviarla al cliente.
Para simplificar: La respuesta es buena, pero los datos pueden no ser exactamente lo que tiene el servidor original y autoritativo; piénsalo como obtener una versión filtrada o mejorada del contenido original.
¿Por qué existe el código de estado 203?
Quizás te preguntes, ¿por qué tener este código de estado? ¿Por qué no simplemente enviar 200 OK todo el tiempo?
La razón radica en la transparencia y el control. Imagina un servidor proxy de caché o una red de entrega de contenidos (CDN). Estos intermediarios a menudo sirven copias del contenido web para reducir la carga en el servidor principal y mejorar la velocidad. A veces, modifican o añaden información antes de transmitirla.
La razón por la que existe el 203 es para ayudar a diferenciar entre respuestas originales y modificadas. A veces, los proxies o middleware alteran las respuestas, por ejemplo:
- Un proxy de caché inyectando encabezados.
- Un servicio de traducción reescribiendo texto.
- Un filtro de contenido añadiendo o eliminando información.
Usar 203 le dice al cliente: "Oye, estos son los datos que pediste, pero ten en cuenta que un intermediario podría haberlos alterado o mejorado".
Esta transparencia es particularmente útil en la depuración, el registro o cuando la procedencia estricta de los datos es importante, por ejemplo, en respuestas de API donde la fuente de los datos afecta la confianza o el cumplimiento.
Características clave del 203
Esto es lo que hace que el 203 sea único:
- Éxito implícito: La solicitud funcionó.
- Respuesta modificada: El contenido puede no coincidir con el origen exacto.
- Intermediarios involucrados: A menudo activado por proxies, cachés o filtros.
- Raro en la práctica: Muchos desarrolladores nunca lo encuentran, pero sigue siendo parte de la especificación HTTP/1.1.
¿Por qué un proxy modificaría una respuesta? Casos de uso comunes
Un intermediario no altera las respuestas sin razón. Aquí están los escenarios más comunes donde se podría usar un 203
:
- Añadir o Modificar Encabezados: Este es el uso más común. Una CDN podría añadir un encabezado
Via
para mostrar que manejó la solicitud o un encabezadoX-Cache
para indicar si fue un acierto o fallo de caché. Un gateway de API podría inyectar un encabezadoRateLimit-Limit
. - Transformación de Contenido: Un proxy podría degradar imágenes a una calidad inferior para ahorrar ancho de banda en redes móviles. Podría minificar archivos JavaScript o CSS para hacerlos más pequeños y rápidos de cargar.
- Anotación: Un proxy de escáner de seguridad podría añadir anotaciones al cuerpo HTML indicando que los enlaces han sido verificados por seguridad.
- Almacenamiento en Caché: Si bien una respuesta en caché normalmente devolvería un
200
o304
, un proxy podría usar203
si aplica alguna lógica al contenido en caché antes de servirlo.
La mecánica: Cómo se genera una respuesta 203
Recorramos un ejemplo hipotético que involucra un gateway de API.
- Solicitud del Cliente: Un cliente envía una solicitud a una API.
GET /api/users/me HTTP/1.1Host: api.example.comAuthorization: Bearer <token>
2. Procesamiento del Gateway: La solicitud llega primero a un gateway de API. El gateway:
- Valida el token JWT.
- Comprueba los límites de velocidad.
- Reenvía la solicitud al servicio de backend real (el servidor de origen).
3. Respuesta de Origen: El servicio de backend procesa la solicitud y responde.
HTTP/1.1 200 OKContent-Type: application/jsonServer: Origin-Server/1.0
{"id": 123, "username": "johndoe", "email": "john@example.com"}
4. Transformación del Gateway: El gateway recibe esta respuesta. Antes de enviarla al cliente, decide añadir información útil.
- Inyecta un nuevo encabezado:
X-RateLimit-Limit: 1000
- Añade un encabezado
Via
para indicar que procesó la solicitud.
5. Respuesta 203 del Gateway al Cliente: El gateway determina que ha modificado la respuesta lo suficiente como para justificar un estado 203
. Envía esto al cliente:
HTTP/1.1 203 Non-Authoritative InformationContent-Type: application/jsonServer: Origin-Server/1.0Via: 1.1 api-gatewayX-RateLimit-Limit: 1000
{"id": 123, "username": "johndoe", "email": "john@example.com"}
Observa que el cuerpo es el mismo, pero los encabezados son diferentes y el código de estado ha cambiado de 200
a 203
.
Manejo de respuestas 203 en el desarrollo de API
Si estás construyendo o consumiendo APIs, comprender y manejar el código de estado 203 puede ayudarte a construir sistemas más confiables y transparentes.
Esto es lo que debes considerar:
- Conciencia del Cliente: Tu aplicación cliente debe ser consciente de que 203 significa que los datos recibidos podrían estar modificados y actuar en consecuencia si la autenticidad de los datos es crítica.
- Registro y Monitoreo: Rastrea las respuestas 203 de forma distinta para investigar posibles modificaciones de datos por parte de intermediarios.
- Manejo de Errores: Maneja el estado 203 de forma similar a 200 OK, pero con precaución adicional sobre la verificación de la fuente de datos.
- Documentación: Documenta claramente cuándo tu API podría devolver 203 y qué significa para el cliente.
203 vs. 200 OK: Una distinción crucial
Esta es la comparación más importante. ¿Por qué usar 203
en lugar de simplemente pasar el 200
del origen?
200 OK
de un proxy significa: "Aquí está la respuesta. Es exactamente lo que me envió el servidor de origen, y no le he hecho nada (aparte de quizás añadir algunos de mis propios encabezados)."203 Non-Authoritative Information
significa: "Aquí está la respuesta. Está basada en lo que envió el servidor de origen, pero la he modificado de una manera que cambia su significado o contenido. Procede con precaución."
El 203
es una señal de transparencia y una advertencia al cliente de que la respuesta no es una copia inmaculada y de primera mano de la fuente.
La realidad: Por qué casi nunca ves el 203
A pesar de estar definido en el estándar HTTP, el código de estado 203
es extremadamente raro en la práctica. Aquí está el porqué:
- Falta de Adopción Generalizada: Muchos desarrolladores de proxies y CDN simplemente no lo implementan. La actitud predominante es que añadir encabezados no es una transformación lo suficientemente significativa como para justificar el cambio del código de estado.
- Riesgo de Romper Clientes: Un cliente mal escrito podría manejar un
200
con éxito pero fallar con un203
, aunque ambos sean códigos de éxito. Para evitar este riesgo, los intermediarios casi siempre simplemente pasan el código de estado del origen. - Los Encabezados se Consideran "Seguros": La interpretación común entre los desarrolladores de proxies es que añadir encabezados informativos (como
Via
,X-Cache
,Rate-Limit
) no constituye una modificación de la "carga útil" o "información" que justifique un203
. Consideran la "información" como el cuerpo, no los encabezados. - A menudo es Innecesario: El intermediario puede simplemente usar otros encabezados para transmitir información sobre sí mismo. El encabezado
Via
por sí solo es suficiente para decirle a un cliente que un proxy estuvo involucrado, sin necesidad de cambiar el código de estado.
¿Cuándo podrías ver realmente un 203?
Aunque raro, no está extinto. Podrías encontrarlo en:
- Gateways de API Altamente Personalizados: Una empresa con un gateway personalizado podría optar por implementar
203
para cualquier modificación, adhiriéndose estrictamente al RFC. - Proxies Académicos o de Investigación: Proyectos centrados en las complejidades de HTTP podrían usarlo correctamente.
- Proxies de Seguridad o Filtrado: Si un proxy elimina o modifica activamente el contenido en el cuerpo de la respuesta por razones de seguridad (por ejemplo, eliminando scripts maliciosos), un
203
sería una señal muy apropiada.
203 en APIs REST vs APIs GraphQL
- APIs REST: El 203 encaja de forma natural, ya que REST se basa en gran medida en la semántica HTTP.
- APIs GraphQL: Menos común, porque GraphQL suele controlar el formato de respuesta directamente, pero los intermediarios aún podrían activar el 203.
Pruebas y depuración con Apidog

Trabajar con varios códigos de estado HTTP, especialmente los poco comunes como el 203, requiere herramientas inteligentes. Ya sea que estés construyendo un proxy que pueda generar un 203
o consumiendo una API que lo haga, necesitas una herramienta que pueda capturar y dar sentido a estos matices. Apidog es perfecto para esto.
Con Apidog, puedes:
- Captura de Respuestas Completas: Inspecciona no solo el código de estado, sino cada encabezado, lo que te permite detectar las modificaciones que podrían haber activado un
203
. - Comparar Solicitudes: Reproduce fácilmente una solicitud a través de diferentes rutas (por ejemplo, directamente al origen frente a través de un gateway) y utiliza las funciones de comparación de Apidog para ver las diferencias en las respuestas.
- Probar la Resiliencia del Cliente: Si estás construyendo un cliente, puedes usar el servidor de simulación de Apidog para simular una respuesta
203
y asegurarte de que tu aplicación la maneja correctamente sin fallar. - Documentar el Comportamiento: Documenta el comportamiento esperado de tus APIs y proxies, incluidos los posibles códigos de estado como
203
, directamente dentro de tu espacio de trabajo de Apidog.
Este nivel profundo de inspección es crucial para comprender las complejas interacciones que ocurren entre tu cliente y tu servidor de origen. Al integrar Apidog en tu flujo de trabajo, puedes ahorrar tiempo y reducir la confusión al trabajar con estados HTTP matizados.
Apidog vs otras herramientas de API para pruebas 203

- Postman: Excelente para pruebas manuales, pero simular comportamientos de proxy para 203 puede ser complicado.
- Swagger UI: Útil para la documentación, pero no simula respuestas modificadas.
- Apidog: Combina diseño, servidores de simulación, pruebas y documentación, lo que facilita la exploración de códigos de nicho como 203 Non-Authoritative Information.
Mejores prácticas: Si estás implementando un proxy
Si estás construyendo un proxy transformador y quieres adherirte estrictamente a la especificación HTTP, considera estas directrices:
- Usa
203
para Modificaciones del Cuerpo: Si alteras el cuerpo de la respuesta (por ejemplo, transcodificación de imágenes, anotación HTML), un203
es muy apropiado. - Sé Conservador con los Encabezados: El estándar de la industria es no usar
203
solo para adiciones de encabezados. Usar encabezados comoVia
es suficiente. - Asegura la Compatibilidad del Cliente: Si usas
203
, prueba a fondo con todos tus clientes para asegurarte de que lo traten como un código de éxito como200
.
Conceptos erróneos comunes sobre el código de estado 203
Aclaremos algunos mitos:
- 203 significa un error: No es cierto. 203 significa éxito, pero la respuesta proviene de una fuente que puede haber sido modificada.
- Las respuestas 203 son raras y no importan: Son menos comunes que 200, pero útiles en ciertas arquitecturas de red.
- Los clientes deberían tratar el 203 como 200: Los clientes pueden tratarlo como 200, pero idealmente, deberían ser conscientes del origen de los datos para decisiones de confianza.
Conclusión: Un código de transparencia
El código de estado HTTP 203 Non-Authoritative Information
, aunque en gran medida una curiosidad histórica en la web actual, representa un principio importante: transparencia en la comunicación.
Es un mecanismo para que los intermediarios, a menudo invisibles, de la web sean honestos sobre su papel. No son el origen de la verdad, y si han cambiado algo, deberían decirlo.
Como desarrollador, comprender el 203 te ayuda a:
- Depurar comportamientos de respuesta extraños.
- Construir clientes más resilientes.
- Comunicar las expectativas de la API claramente.
Esto ayuda a los clientes a tomar decisiones informadas sobre la credibilidad de los datos y mejora la depuración en ecosistemas de red complejos. Para la mayoría de los desarrolladores, es probable que nunca necesites usar o manejar activamente este código de estado. Pero comprender su propósito te brinda una apreciación más profunda de las complejidades de HTTP y la arquitectura en capas de internet. Nos recuerda que una respuesta no es solo un cuerpo y un estado; es una historia del viaje que tomó una solicitud, y el código de estado 203
es una de las formas en que esa historia puede ser contada.
Para la gran mayoría de tu trabajo con APIs, estarás lidiando con los códigos de estado 200
, 201
, 400
y 500
. Si quieres explorar códigos de estado como el 203 de manera más efectiva o probar tus APIs con información detallada, no olvides descargar Apidog gratis. Apidog simplifica las pruebas y la documentación de APIs, admitiendo una amplia gama de códigos de estado HTTP para que tu experiencia como desarrollador sea más fluida. Y para diseñar, probar y documentar esas APIs, una herramienta como Apidog proporciona la plataforma moderna y todo en uno que necesitas para asegurar que tus APIs sean robustas, confiables y un placer de usar, sin importar cuántos intermediarios estén involucrados en la cadena.