Quel est le lien entre Apache HTTP Server et Apache Tomcat? (Si du tout)

34

J'ai actuellement Apache httpd en cours d' exécution sur un serveur de production Ubuntu VPS. J'écris des scripts php.

Je suis intéressé par l’apprentissage de Java et je me demandais comment j’écrireais du Java côté serveur pour travailler sur ma configuration actuelle.

Comment Apache Tomcat et Apache HTTP Server sont-ils liés?

Tomcat peut-il être un module de httpd?

Ou s'agit-il simplement de deux projets très différents dirigés par la même organisation (Apache Software Foundation)?

JW01
la source
5
Or are they simply just two very different projects that happen to be steered by the same organisation?- Ils sont
Mchl
@Mchl, ils sont très similaires aussi.
Pacerier

Réponses:

56

En général, le serveur HTTP Apache est simplement un ancien serveur Web conçu pour servir les pages Web statiques. Il existe de nombreux modules pouvant être installés pour améliorer les capacités d'Apache afin qu'il puisse gérer des pages Web dynamiques utilisant diverses technologies telles que PHP, CGI ou autre, mais le noyau d'Apache est simplement un vieux serveur HTTP.

Tomcat, en revanche, est spécifiquement conçu dès le départ pour servir de moteur Java Servlet . Son objectif principal est d'implémenter l'API Java Servlet et d'exécuter des servlets Java dans le but de créer des sites Web dynamiques. Tomcat peut également être utilisé en tant que serveur HTTP standard servant des pages statiques, mais ce n'est pas son objectif principal. (En outre, Tomcat est apparemment plus lent qu'Apache httpd lorsqu'il s'agit de servir des pages statiques.)

Les deux technologies peuvent être utilisées ensemble via un module de connecteur appelé mod_jk . Cela vous permettra d'utiliser le serveur HTTP Apache pour servir des pages Web statiques standard et le moteur de servlet Tomcat d'exécuter des servlets.

Charles Salvia
la source
Pouvons-nous dire que lorsque l'on télécharge Tomcat, il télécharge un serveur Web comme Apache Httpd (mais pas exactement cela) ET un conteneur de servlet qui est simplement une application java?
Koray Tugay
@Charles, Pourquoi Tomcat est-il plus lent qu'Apache?
Pacerier
@ Pacerier - il a dit "prétendument", parce que même si les gens le croient généralement, ce n'est pas vrai .
Jules
@ KorayTugay pas exactement, non. Tomcat est juste un conteneur de servlet. Il se trouve qu’il est fourni avec un servlet par défaut qui implémente un serveur Web statique. Vous ne pouvez pas séparer le composant serveur Web sans le conteneur de servlet.
Jules