Estás utilizando una aplicación web bien diseñada. Eliminas un elemento de tu lista, actualizas una configuración o marcas una tarea como completada. La acción ocurre instantánea y fluidamente. No hay un llamativo mensaje de "¡Éxito!", ni nuevos datos cargándose en la pantalla, solo la confirmación tranquila y segura de que lo que pretendías hacer se ha realizado.
Esta experiencia de usuario elegante y minimalista a menudo es impulsada por uno de los códigos de estado HTTP más incomprendidos y subestimados: 204 No Content
.
A diferencia de su parlanchín primo 200 OK
, que siempre tiene algo que decir, el código de estado 204
es el tipo fuerte y silencioso del mundo HTTP. Es la forma en que el servidor da un simple visto bueno, un gesto de reconocimiento. Dice: "He procesado tu solicitud con éxito. No tengo nada que enviarte, y así es exactamente como debe ser".
Entonces, ¿qué significa? ¿Por qué existe? Y lo que es más importante, ¿cómo deberías usarlo en tus APIs?
Si eres un desarrollador que construye APIs o aplicaciones web, comprender e implementar correctamente el 204 No Content
es una señal de profesionalismo y una clave para crear sistemas eficientes, limpios y predecibles.
Si quieres experimentar cómo funciona el 204 No Content
en APIs del mundo real, no necesitas configurar un servidor personalizado. En su lugar, deberías probar definitivamente Apidog, una herramienta gratuita de prueba y documentación de APIs. Apidog facilita la prueba de tus APIs y te permite ver exactamente cómo se comportan los diferentes códigos de estado, como el 204, en escenarios reales. Además, te ayuda a documentar y colaborar con tu equipo sin problemas. ¡Descarga Apidog gratis y obtén una comprensión más clara y práctica de tus respuestas de API mientras exploramos el código de estado 204!
Ahora, desglacemos HTTP 204 No Content en un lenguaje sencillo y profundicemos en por qué es importante.
¿Qué significa realmente HTTP 204 No Content?
El código de estado 204 No Content le dice al cliente que la solicitud fue exitosa, pero el servidor no envió ningún contenido en el cuerpo de la respuesta. Esto puede parecer extraño al principio: ¿cómo puede una solicitud ser exitosa sin enviar datos? Pero en realidad, esta es una señal muy útil e intencional en el desarrollo web. La definición oficial (del RFC 7231) es concisa:
Desglacemos las partes clave:
- "El servidor ha cumplido con éxito la solicitud...": Esto es crucial. Es un código de éxito completo. La operación, ya sea eliminación, actualización o alternancia, se completó sin problemas.
- "...no hay contenido adicional que enviar...": El servidor no tiene nada que decir. No es necesario transferir datos de vuelta al cliente para comunicar este éxito.
- "...en el cuerpo de la carga útil de la respuesta.": La respuesta tendrá encabezados y una línea de estado, pero el cuerpo estará intencionalmente vacío. Esto ahorra ancho de banda y tiempo de procesamiento.
En la práctica, una respuesta 204
se ve así:
HTTP/1.1 204 No ContentX-RateLimit-Limit: 1000X-RateLimit-Remaining: 999
Eso es todo. Sin cuerpo. Sin encabezado Content-Length
. Solo una confirmación limpia y eficiente.
Siempre que un cliente envía una solicitud que no necesita un cuerpo de respuesta completo, por ejemplo, después de enviar datos de formulario, eliminar un recurso o realizar una acción donde no es necesario más contenido, el servidor puede responder con 204. Esto le dice al cliente: "Tu solicitud se procesó correctamente, pero aquí no hay nada nuevo que mostrarte".
Una analogía clásica: Imagina que le pides a tu amigo que saque la basura. Él lo hace, regresa y no dice nada porque el trabajo está hecho y no hay nada más que informar. Eso es 204 en acción.
Las características clave del 204
Esto es lo que hace que el 204 sea único:
- Es un código de éxito: La solicitud se completó con éxito.
- No se permite cuerpo: La respuesta no debe incluir un cuerpo de mensaje.
- Los encabezados siguen siendo posibles: Todavía puedes enviar encabezados como
Content-Type
oETag
. - Eficiente: Ahorra ancho de banda ya que no hay carga útil.
¿Por qué existe el código de estado 204?
Quizás te preguntes, ¿no podrían los servidores simplemente responder con un 200 OK y un cuerpo de mensaje vacío si no hay contenido?
Aquí está la razón por la que el código de estado 204 es importante:
- Eficiencia: Reduce la transmisión de datos innecesaria, especialmente útil para redes móviles o con ancho de banda limitado.
- Comportamiento del cliente: Algunos clientes interpretan una respuesta 204 de manera diferente a una respuesta 200 vacía. Por ejemplo, los navegadores no intentarán actualizar o recargar la página basándose en una respuesta 204.
- Claridad semántica: 204 comunica claramente la intención: dice que la solicitud tuvo éxito, pero simplemente no hay contenido que enviar.
- Evitar cambios de interfaz de usuario no deseados: En algunas aplicaciones web, enviar un 204 evita recargas de página o parpadeos de interfaz no deseados.
Esencialmente, 204 agiliza la comunicación entre el servidor y el cliente al permitir que ambas partes sepan que no se necesitan cambios de contenido.
¿Por qué necesitamos 204 No Content?
Quizás te estés preguntando: ¿Por qué no simplemente usar 200 OK y devolver un cuerpo vacío?
Excelente pregunta. La respuesta radica en la comunicación clara entre servidores y clientes.
- 200 OK implica que podría haber un cuerpo de respuesta.
- 204 No Content lo hace explícito: "No hay contenido aquí, y eso es intencional."
Esta distinción ayuda a los clientes como navegadores, aplicaciones móviles o consumidores de API a saber que no necesitan procesar o analizar un cuerpo.
Cuándo usar 204 No Content: El ajuste perfecto
Debes usar el código de estado 204
en un escenario principal:
Cuando la solicitud del cliente fue exitosa, y el cliente no necesita cambiar su estado o vista de ninguna manera más allá de lo que ya implicaba la propia solicitud.
Veamos algunos ejemplos clásicos:
1. El caso de uso por excelencia: Operaciones DELETE
Este es el uso más común y apropiado para el 204
. Cuando un cliente elimina un recurso, ¿qué debería devolver el servidor? ¿El recurso eliminado? Eso no tiene sentido. ¿Un mensaje que diga "Fue eliminado"? El código de estado 204
es ese mensaje.
- Solicitud:
DELETE /api/articles/123
- Respuesta:
204 No Content
- Comportamiento del cliente: El cliente sabe que el artículo ha desaparecido. Puede eliminarlo de su estado de interfaz de usuario local. No se necesita más información.
2. Actualización de recursos con PUT/PATCH
Cuando un cliente actualiza un recurso usando PUT
o PATCH
, ya tiene la representación completa del recurso que desea. Si la actualización es exitosa, el servidor a menudo no necesita enviar de vuelta el recurso completo.
- Solicitud:
PATCH /api/users/me { "theme": "dark" }
- Respuesta:
204 No Content
- Comportamiento del cliente: El cliente ya conoce el nuevo estado deseado ("theme": "dark"). Puede asumir que la actualización fue exitosa y aplicar el cambio a su estado local inmediatamente. Un
204
es más eficiente que el servidor devolviendo el objeto de usuario completo.
3. Acciones de alternancia
Las acciones que simplemente alternan un estado son perfectas para el 204
.
- Solicitud:
POST /api/notifications/456/mark-as-read
- Respuesta:
204 No Content
- Comportamiento del cliente: El cliente puede cambiar el estado visual de la notificación de "no leída" a "leída" en la interfaz de usuario. No se requieren datos adicionales.
204 vs. 200 OK: Una distinción crítica
Aquí es donde muchos desarrolladores se confunden. ¿Está bien usar 200 OK
con un cuerpo vacío?
Técnicamente, sí. Pero semánticamente, 204
es la opción mejor y más precisa.
- Un
200 OK
con un cuerpo vacío envía un mensaje mixto. Dice: "¡Aquí tienes una respuesta exitosa! (Pero no tengo nada que mostrarte)". Es como un camarero diciendo: "¡Aquí está su comida!" y presentando un plato vacío. - Un
204 No Content
es claro e inequívoco. Dice: "Éxito. Y no tengo nada que mostrarte porque ya tienes todo lo que necesitas". Es el camarero dándote un pulgar hacia arriba desde el otro lado de la sala después de que has terminado tu comida, confirmando que te ha visto y que no hay necesidad de más acción.
Usar 204
correctamente es una señal de una API bien diseñada y reflexiva.
Casos de uso comunes para 204 No Content
Veamos algunos escenarios del mundo real donde probablemente verás o querrás usar 204 No Content:
- Eliminar un recurso: Cuando un cliente elimina un elemento a través de una API (por ejemplo, DELETE /users/123), el servidor puede responder con 204 para indicar que el recurso se eliminó correctamente y no hay nada que devolver.
- Actualizar un recurso sin devolverlo: A veces, las solicitudes PUT o PATCH actualizan un recurso pero no necesitan enviar los datos actualizados de inmediato, por lo que 204 es apropiado.
- Envío de formularios: Al enviar un formulario a través de AJAX, un 204 le dice al cliente que el envío fue exitoso pero que no hay contenido nuevo para cargar o mostrar.
- Puntos finales de ping o latido: Para comprobaciones de estado o mantenimiento de conexión, una respuesta 204 indica éxito sin enviar datos innecesariamente.
- No se necesita cambio de interfaz de usuario: En las aplicaciones de una sola página (SPA), las llamadas al backend que no necesitan actualizar la interfaz de usuario pueden beneficiarse del 204.
204 vs 200: ¿Cuál es la diferencia?
Esta es una de las mayores confusiones entre los desarrolladores.
- 200 OK: La solicitud fue exitosa y la respuesta puede contener contenido.
- 204 No Content: La solicitud fue exitosa y la respuesta no debe contener contenido.
Así que, si quieres devolver JSON, XML o HTML, usa 200. Si no, usa 204.
204 vs 202: Otra confusión común
Otro pariente cercano es 202 Accepted
.
- 202 Accepted: La solicitud fue recibida pero aún no ha sido procesada. El procesamiento puede ocurrir más tarde.
- 204 No Content: La solicitud fue recibida y procesada inmediatamente, y no hay nada más que decir.
En otras palabras, 202 es "ya lo haré", mientras que 204 es "ya lo hice".
204 vs. 404 Not Found para DELETE
Otro punto común de confusión: ¿Qué debería devolver una solicitud DELETE
si el recurso no existe?
- Devolver
204 No Content
si se logra el estado final deseado. Si el objetivo es que el recurso desaparezca, y ya ha desaparecido, entonces la operación fue exitosa. Esto es idempotente—hacer la misma solicitud varias veces tiene el mismo efecto. - Devolver
404 Not Found
solo si el formato del ID es incorrecto o el recurso nunca existió de una manera que el cliente pudiera esperar razonablemente. Por ejemplo, eliminar/api/articles/not-a-real-id
podría devolver un404
.
La regla general: Si la solicitud DELETE es exitosa en lograr su objetivo (el recurso ya no está allí), devuelve 204
.
El trabajo del cliente: Manejar una respuesta 204
Un cliente bien educado debe saber cómo manejar una respuesta 204
correctamente.
- No intentes analizar un cuerpo: La respuesta no tiene cuerpo. Cualquier intento de analizar JSON, XML o texto de la respuesta resultará en un error. Tu código debe verificar el código de estado primero y solo intentar analizar el cuerpo para códigos como
200
. - Trátalo como éxito: El cliente debe interpretar el
204
como un éxito completo y actualizar su estado interno en consecuencia (por ejemplo, eliminar un elemento de una lista, actualizar un interruptor de interfaz de usuario). - Respeta los encabezados: Aunque no hay cuerpo, puede haber metadatos importantes en los encabezados (como información de límite de tasa). Siempre lee los encabezados.
En los navegadores web, una respuesta 204 no activa una recarga de página ni un cambio de navegación, lo que la hace útil para llamadas AJAX que modifican datos en segundo plano.
Cómo los desarrolladores pueden implementar correctamente el código de estado 204
Para asegurarte de que estás aprovechando al máximo el código de estado 204:
- Confirma que el cliente no espera un cuerpo de respuesta.
- Envía los encabezados apropiados si es necesario (por ejemplo, Content-Type generalmente se omite porque no hay cuerpo).
- Evita incluir un cuerpo de respuesta; hacerlo puede causar un comportamiento indefinido en algunos clientes.
- Documenta el uso claramente en la documentación de tu API.
Beneficios de usar 204 correctamente
- Ahorra ancho de banda: No hay un cuerpo de respuesta innecesario.
- Intención clara: Comunica que el silencio es intencional, no accidental.
- Eficiencia del cliente: Evita que los clientes desperdicien ciclos analizando cuerpos vacíos.
- Cumple con los estándares: Ayuda a garantizar que tu API siga las mejores prácticas HTTP.
Prueba de respuestas 204 con Apidog

Probar los puntos finales que devuelven 204
es crucial. Debes asegurarte de que devuelvan el código de estado correcto y no filtren datos accidentalmente en el cuerpo de la respuesta. Apidog es la herramienta perfecta para esto.
Con Apidog, puedes:
- Crear la solicitud: Configura fácilmente una solicitud
DELETE
oPUT
a tu punto final. - Enviar y validar: Con un clic, envía la solicitud e inmediatamente ve la respuesta completa.
- Inspeccionar los detalles: Apidog te mostrará claramente el código de estado (
204
) y todos los encabezados. Fundamentalmente, mostrará el panel del cuerpo de la respuesta como vacío, confirmando que tu API funciona correctamente. - Escribir aserciones: Puedes escribir scripts de prueba automatizados en Apidog que afirmen que el estado de la respuesta es
204
y que el cuerpo de la respuesta está realmente vacío. Esto evita regresiones. - Depurar errores: Si tu punto final devuelve erróneamente un cuerpo con un
204
, o devuelve un200
cuando debería devolver un204
, Apidog hará que este error sea inmediatamente visible. - Documentación clara: Apidog te permite documentar qué puntos finales devuelven 204 y bajo qué condiciones, ayudando a tu equipo y a los consumidores de la API.
- Colaboración: Comparte especificaciones de API con tu equipo para mejores flujos de trabajo de desarrollo y depuración.
Este nivel de pruebas es esencial para construir APIs profesionales y fiables. Al integrar Apidog en tu proceso de desarrollo, el manejo de códigos de estado como el 204 se vuelve transparente y manejable.
Apidog vs. otras herramientas de API para la simulación de 204

Comparemos:
- Postman: Excelente para pruebas manuales, pero simular el comportamiento 204 puede resultar torpe.
- Swagger UI: Útil para la documentación, pero no simula bien las respuestas.
- Apidog: Combina pruebas, simulación y documentación en una sola plataforma. Perfecto para experimentar con casos extremos como el 204.
Malentendidos comunes sobre 204 No Content
Es fácil confundir el 204 con otros códigos de estado o malinterpretar su uso:
- 204 significa error o fallo: ¡Falso! Es un estado de éxito sin contenido.
- 204 es solo para respuestas vacías: Está destinado al procesamiento exitoso con respuestas intencionalmente vacías, no a errores.
- 204 permite un cuerpo de mensaje: Según las especificaciones HTTP, el 204 no debe incluir un cuerpo de mensaje.
- 204 significa que no hay respuesta en absoluto: El servidor aún envía encabezados y la línea de estado, simplemente no hay cuerpo de mensaje.
Errores comunes y anti-patrones
- Devolver
200 OK
con{ "success": true }
: Esto es un desperdicio y menos semántico que un simple204
. El código de estado es el indicador de éxito. - Devolver un cuerpo con un
204
: Esto viola la especificación HTTP. Una respuesta204
NO DEBE incluir un cuerpo de mensaje. - Usar
204
para una solicitudGET
: Una solicitudGET
siempre debe devolver una representación de un recurso. Si no hay nada que devolver, podría ser más apropiado devolver un200 OK
con una matriz vacía[]
o un objeto vacío{}
, o quizás un404
si no se encuentra el recurso específico.
Mal uso común de 204 No Content
Desafortunadamente, los desarrolladores a menudo usan mal el 204. Aquí hay algunas trampas:
- Devolver 204 con un cuerpo → Esto rompe la especificación HTTP.
- Usar 204 en lugar de 200 cuando se espera un cuerpo de respuesta.
- Devolver 204 para solicitudes GET → Las GET casi siempre deben devolver contenido.
¿Qué sucede si se usa mal el 204?
El uso indebido del 204 puede llevar a un comportamiento extraño del cliente:
- Incluir un cuerpo con 204 podría hacer que los clientes se cuelguen o arrojen errores.
- Se debe evitar enviar 204 cuando un recurso realmente falta; 404 es mejor.
- La mala comunicación puede llevar a estados de interfaz de usuario confusos o a un almacenamiento en caché inadecuado.
Por lo tanto, comprender y adherirse al uso previsto del 204 es esencial.
Mejores prácticas para implementar 204 en APIs REST
- Utiliza 204 principalmente para operaciones de DELETE y actualización.
- No incluyas un cuerpo de respuesta.
- Añade encabezados significativos si es necesario (como
Location
oETag
). - Documenta el comportamiento para que los consumidores de la API sepan qué esperar.
204 en GraphQL, gRPC y otros protocolos
- GraphQL: Rara vez usa 204, ya que cada consulta espera una carga útil de respuesta.
- gRPC: En lugar de códigos de estado HTTP, gRPC tiene sus propios códigos de error, pero el concepto de "sin contenido" a veces se refleja con
OK
más sin carga útil. - APIs SOAP: Históricamente, 204 no era común, ya que los mensajes SOAP típicamente siempre incluyen un sobre.
Análisis profundo: Cómo funciona el 204 con las APIs RESTful
En el diseño RESTful, las respuestas son cruciales para guiar el comportamiento del cliente. Debido a que muchas acciones pueden no requerir la devolución del recurso actualizado completo o de cualquier contenido, el 204 es una forma elegante de ahorrar ancho de banda y mejorar la capacidad de respuesta.
Por ejemplo, en las operaciones CRUD de RESTful:
- GET: Devuelve 200 y los datos del recurso.
- POST: Devuelve 201 Created con los datos del nuevo recurso.
- PUT: Puede devolver 204 si no se devuelven datos actualizados.
- DELETE: Típicamente devuelve 204 para confirmar la eliminación sin contenido.
Esta filosofía de diseño se alinea con las APIs web modernas y eficientes.
Conclusión: Abraza el poder del 204 No Content
El código de estado 204 No Content puede parecer simple, pero ocupa un lugar importante en la comunicación HTTP al señalar el éxito sin una transferencia de datos innecesaria. Ahorra ancho de banda, mejora la experiencia del usuario y aclara la comunicación entre el servidor y el cliente.
El código de estado HTTP 204 No Content
es una obra maestra de diseño minimalista. Encarna el principio de que la comunicación más eficiente a menudo dice lo suficiente y nada más.
En un mundo de respuestas JSON infladas y APIs sobre-diseñadas, el uso correcto del 204
es una señal de un desarrollador que comprende los matices del protocolo HTTP y respeta los recursos tanto del cliente como del servidor.
No es un código de ausencia; es un código de finalización. Es el clic satisfactorio de una puerta bien hecha al cerrarse, la última pieza de un rompecabezas encajando en su lugar. Es el sonido del éxito, y ese sonido es el silencio. Si estás construyendo APIs, usa el 204 con cuidado:
- Excelente para acciones DELETE y de actualización.
- Evítalo para GETs.
- Documéntalo bien.
Si desarrollas o consumes APIs, dominar cómo usar y responder al 204 hará que tus aplicaciones sean más eficientes y fáciles de usar. Así que la próxima vez que estés construyendo un punto final para una acción DELETE
, PUT
o de alternancia, no te limites a usar 200 OK
por defecto. Abraza la elegancia del 204 No Content
.
Y recuerda, la mejor manera de aprender es haciendo. No olvides descargar Apidog gratis. Utiliza una herramienta como Apidog para asegurarte de que tu implementación sea precisa, eficiente y perfectamente compatible, haciendo que tus APIs sean un placer de usar y un referente de calidad. Apidog facilita y hace efectiva la prueba, documentación y trabajo con varios códigos de estado HTTP como el 204, asegurando que el comportamiento de tu API sea claro y consistente.