¿Por qué Node.js y Apache no son comparables?

El servidor HTTP Apache es un servidor HTTP modularizado completo que es:

  • plataforma agnóstica
  • lenguaje del lado del servidor agnóstico.

Propone diferentes tipos de modelos centrales para la estrategia de su plataforma, tales como:

  • Evento MPM (estable desde la versión 2.4)
  • MPM netware (optimizado para Novell Netware)
  • MPM os2
  • Prefork MPM (sin hilos)
  • MPM winnt (utilizando API avanzadas de Windows)
  • Trabajador MPM (multiproceso / multiproceso)

También propone al menos 2 formas principales de manejar solicitudes por un lenguaje del lado del servidor:

  • Módulos Apache
  • Fastcgi
  • + posibilidad adicional de pasar solicitudes como proxy a servidores de aplicaciones de terceros
  • (nodejs, wakanda, mongodb, …)

Propone un módulo oficial Apache HTTP 2 (aún no completamente estable) y es probablemente el servidor HTTP mejor mantenido y el más ampliamente implementado


Node.js es, en primer lugar, una plataforma JS ligera construida sobre el motor V8 JS que permite la administración de sockets TCP y UDP. Integra un ayudante de servidor HTTP predeterminado que usa una base de biblioteca HTTP_Parser C en ngx_http_parse.c del nginx servidor HTTP basado en eventos.

Node.js no es multiproceso de forma nativa, y probablemente sea más interesante usarlo como servidor de Web Socket.


Otra alternativa entre node.js y Apache es este servidor HTTP nginx .

Es un servidor HTTP real que utiliza un nodo basado en un modelo basado en eventos.

Bonificación: comenzó a integrar su propio motor JS

-> nginScript: ¿por qué crear nuestra propia implementación de JavaScript?

Apache es un servidor web puro, para servir código escrito en algún lenguaje como PHP. Nodo, por otro lado, no es un servidor web en sí mismo ni un idioma.

Node.js es un tiempo de ejecución para ejecutar código JavaScript en el lado del servidor. Por supuesto, puede implementar un servidor con, por ejemplo, Express, que puede seguir ejecutando, por ejemplo, con Forever o PM2, pero el Nodo en sí mismo es más comparable a php-cli en todo caso.

uno está basado en subprocesos otro está incluso basado en cola. Por lo general, encajamos ambos en varias partes de nuestra arquitectura / implementación para servir a diferentes propósitos. Ambos no necesitan ser mutuamente excluyentes.