¿Cómo se relacionan Apache HTTP Server y Apache Tomcat? (Como mucho)

34

Actualmente tengo Apache httpd ejecutándose en un servidor Ubuntu VPS de producción. Escribo scripts php.

Estoy interesado en aprender Java y me preguntaba cómo escribiría algo de Java del lado del servidor para trabajar en mi configuración actual.

¿Cómo se relacionan Apache Tomcat y Apache HTTP Server ?

¿Puede Tomcat ser un módulo de httpd?

¿O son simplemente dos proyectos muy diferentes que están dirigidos por la misma organización (Apache Software Foundation)?

JW01
fuente
55
Or are they simply just two very different projects that happen to be steered by the same organisation?- Son
Mchl
@Mchl, también son muy similares.
Pacerier

Respuestas:

56

En general, el servidor Apache HTTP es un simple servidor web antiguo diseñado para servir páginas web estáticas. Hay muchos módulos que se pueden instalar para mejorar las capacidades de Apache para que pueda servir páginas web dinámicas utilizando diversas tecnologías como PHP, CGI o lo que sea, pero el núcleo de Apache es un simple servidor HTTP.

Tomcat, por otro lado, está diseñado específicamente desde cero para servir como un motor Java Servlet . Su propósito principal es implementar la API de Java Servlet y ejecutar servlets de Java con el propósito de construir sitios web dinámicos. Tomcat también se puede usar como un servidor HTTP normal que sirve páginas estáticas, pero ese no es su propósito principal. (Además, Tomcat es supuestamente más lento que Apache httpd cuando se trata de servir páginas estáticas).

Las dos tecnologías se pueden usar juntas a través de un módulo conector llamado mod_jk . Esto le permitirá utilizar el servidor HTTP Apache para servir páginas web estáticas regulares y el motor de Servlet Tomcat para ejecutar servlets.

Charles Salvia
fuente
¿Podemos decir que cuando uno descarga Tomcat, él / ella descarga un servidor web como Apache Httpd (pero no exactamente esto) Y un Servlet Container que es simplemente una aplicación de Java?
Koray Tugay
@ Charles, ¿por qué Tomcat es más lento que Apache?
Pacerier
@Pacerier - dijo "supuestamente", porque si bien la gente cree ampliamente en esto, en realidad no es cierto .
Julio
@KorayTugay no exactamente, no. Tomcat es solo un contenedor de servlet. Resulta que viene con un servlet predeterminado que implementa un servidor web estático. No podría separar el componente del servidor web sin el contenedor de servlet.
Julio