In welcher Beziehung stehen Apache HTTP Server und Apache Tomcat? (Wenn überhaupt)

34

Ich habe derzeit Apache httpd auf einem Ubuntu VPS-Produktionsserver ausgeführt. Ich schreibe PHP-Skripte.

Ich bin daran interessiert, Java zu lernen, und habe mich gefragt, wie ich anfangen soll, serverseitiges Java zu schreiben, um an meinem aktuellen Setup zu arbeiten.

In welcher Beziehung stehen Apache Tomcat und Apache HTTP Server zueinander?

Kann Tomcat ein Modul von httpd sein?

Oder sind es einfach nur zwei sehr unterschiedliche Projekte, die zufällig von derselben Organisation (Apache Software Foundation) gesteuert werden?

JW01
quelle
5
Or are they simply just two very different projects that happen to be steered by the same organisation?- Sie sind
Mchl
@Mchl, Sie sind auch sehr ähnlich.
Pacerier

Antworten:

56

Im Allgemeinen ist der Apache-HTTP-Server nur ein einfacher alter Webserver, der für die Bereitstellung statischer Webseiten entwickelt wurde. Es gibt viele Module, die installiert werden können, um die Fähigkeiten von Apache zu verbessern, sodass dynamische Webseiten mit verschiedenen Technologien wie PHP, CGI oder was auch immer bedient werden können. Der Kern von Apache ist jedoch nur ein einfacher alter HTTP-Server.

Tomcat hingegen wurde von Grund auf speziell für die Verwendung als Java-Servlet- Engine entwickelt. Der Hauptzweck besteht darin, die Java-Servlet-API zu implementieren und Java-Servlets auszuführen, um dynamische Websites zu erstellen. Tomcat kann auch als regulärer HTTP-Server verwendet werden, der statische Seiten bereitstellt, dies ist jedoch nicht der primäre Zweck. (Außerdem ist Tomcat angeblich langsamer als Apache httpd, wenn es darum geht, statische Seiten bereitzustellen.)

Die beiden Technologien können zusammen über ein Connector-Modul namens mod_jk verwendet werden . Auf diese Weise können Sie den Apache-HTTP-Server zum Bereitstellen regulärer statischer Webseiten und die Tomcat-Servlet-Engine zum Ausführen von Servlets verwenden.

Charles Salvia
quelle
Können wir sagen, dass man, wenn man Tomcat herunterlädt, einen Webserver wie Apache Httpd herunterlädt (aber nicht genau das) UND einen Servlet-Container, der einfach eine Java-Anwendung ist?
Koray Tugay
@ Charles, warum ist Tomcat langsamer als Apache?
Pacerier
@ Pacerier - sagte er "angeblich", denn während die Leute dies weitgehend glauben, ist es in Wirklichkeit nicht wahr .
Jules
@KorayTugay nicht genau, nein. Tomcat ist nur ein Servlet-Container. Es wird mit einem Standardservlet geliefert, das einen statischen Webserver implementiert. Sie konnten die Webserverkomponente nicht ohne den Servlet-Container trennen.
Jules