Ciclo de vida de una petición HTTP en Express y Fastify

Descubre el ciclo de vida de una petición HTTP en Express y Fastify. Aprende por qué olvidar next() causa timeouts y cómo depurarlo. Mejora el rendimiento de

8 jul 2026 • 4 min read • Q2BSTUDIO Team

Errores que bloquean tu servidor Node.js

Entender el ciclo de vida de una petición HTTP en frameworks como Express o Fastify no es un mero ejercicio académico; es una habilidad práctica que marca la diferencia entre una aplicación que responde con fluidez y un sistema que, sin previo aviso, deja a los usuarios esperando hasta que el timeout del socket los libera. En un contexto donde cada milisegundo cuenta y la experiencia del usuario es el principal activo, dominar este flujo resulta indispensable para cualquier equipo que desarrolle aplicaciones a medida con Node.js.

Cuando un cliente HTTP envía una solicitud, el servidor Node.js inicia un proceso que va mucho más allá de 'llamar al manejador y devolver una respuesta'. En Express, ese proceso se organiza como una pila secuencial de middleware. Cada pieza de software intermedio recibe los objetos req y res junto con la función next. Si una función no invoca next ni envía una respuesta explícita (por ejemplo mediante res.json), el flujo se detiene de forma silenciosa: no se lanza ninguna excepción, no aparece ningún error en los registros del servidor, y el cliente permanece colgado hasta que el socket expira. En entornos productivos, este fallo se manifiesta como un aumento en el percentil 99 de latencia y una acumulación de conexiones en estado ESTABLISHED, sin que los logs tradicionales den ninguna pista. Para empresas que ofrecen servicios cloud AWS y Azure, detectar y prevenir estos escenarios es crítico para mantener los SLAs comprometidos.

Fastify, por su parte, sustituye la pila plana de middleware por una canalización de hooks con nombres y orden fijos: onRequest, preParsing, preValidation, preHandler, el manejador de la ruta, preSerialization, onSend, y finalmente onResponse. Cada hook es una función asíncrona cuyo avance depende de que la promesa se resuelva o se rechace. Si un hook olvida hacer reply.send() o no retorna un valor (en el caso del manejador), el pipeline se congela exactamente igual que en Express, pero con la ventaja de que el propio framework puede detectar el bloqueo si se usan timeouts adecuados a nivel de servidor. Esta diferencia de diseño hace que Fastify sea especialmente atractivo para proyectos que requieren un alto rendimiento en cargas JSON, como suele ocurrir en soluciones de inteligencia artificial y automatización de procesos donde cada petición debe ser validada, serializada y devuelta en el menor tiempo posible.

Los modos de fallo más comunes van más allá del simple olvido de next(). También aparece la duplicidad de respuestas —enviar headers dos veces lanza el error ERR_HTTP_HEADERS_SENT—, y los problemas de orden de middleware: poner un manejador de errores antes que las rutas o una capa de autenticación después del controlador deja la aplicación expuesta a comportamientos impredecibles. En proyectos de ciberseguridad, por ejemplo, una mala colocación del middleware de autorización puede abrir brechas de seguridad inadvertidas. La práctica recomendada es registrar las rutas globales siempre antes de los controladores específicos y usar siempre la sentencia return al enviar la respuesta para evitar la ejecución de código posterior.

Para depurar estos problemas, la monitorización basada en trazas distribuidas se ha convertido en la herramienta más eficaz. Instrumentar la aplicación con OpenTelemetry permite ver, en un solo panel, qué middleware o hook está consumiendo tiempo o ha quedado abierto sin completar. Además, establecer timebounds a nivel del servidor HTTP (requestTimeout, headersTimeout) protege contra clientes lentos y evita que los sockets se acumulen indefinidamente. En Q2BSTUDIO aplicamos estas técnicas de forma sistemática cuando desarrollamos software a medida para nuestros clientes, integrando servicios inteligencia de negocio como Power BI para visualizar métricas de latencia y detectar anomalías antes de que afecten a los usuarios finales.

La elección entre Express y Fastify depende en gran medida del perfil de la aplicación. Express ofrece una flexibilidad inmensa gracias a su ecosistema de middleware y su facilidad de aprendizaje, ideal para prototipos rápidos y equipos que priorizan la familiaridad. Fastify, con su enrutador basado en radix trie y su serialización compilada mediante esquemas, ofrece un rendimiento notablemente superior bajo cargas altas de JSON, algo que resulta determinante en proyectos de ia para empresas o en la construcción de agentes IA que procesan múltiples peticiones en tiempo real. En cualquier caso, lo fundamental es comprender que cada petición recorre un camino predecible y que el descuido en cualquier paso puede tener consecuencias medibles en producción. En Q2BSTUDIO ayudamos a nuestros clientes a diseñar estas arquitecturas con el equilibrio adecuado entre velocidad, seguridad y mantenibilidad, garantizando que cada línea de código contribuya a una experiencia de usuario excepcional.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat