Unterschied zwischen dem Apache HTTP Server und Apache Tomcat?

Worin besteht der Unterschied zwischen dem Apache HTTP Server und Apache Tomcat in Bezug auf die Funktionalität?

Ich weiß, dass Tomcat in Java geschrieben ist und der HTTP-Server in C, aber ansonsten weiß ich nicht wirklich, wie sie sich unterscheiden. Haben sie unterschiedliche Funktionen?

Lösung

Apache Tomcat wird für die Bereitstellung Ihrer Java-Servlets und JSPs verwendet. In Ihrem Java-Projekt können Sie also Ihre WAR-Datei (kurz für Web ARchive) erstellen und sie einfach in das Bereitstellungsverzeichnis von Tomcat legen.

Im Grunde ist Apache also ein HTTP-Server, der HTTP ausliefert. Tomcat ist ein Servlet- und JSP-Server, der Java-Technologien bedient.

Tomcat enthält Catalina, einen Servlet-Container. Ein Servlet ist letztlich eine Java-Klasse. JSP-Dateien (ähnlich wie PHP und ältere ASP-Dateien) werden in Java-Code (HttpServlet) generiert, der dann vom Server in .class-Dateien kompiliert und von der Java Virtual Machine ausgeführt wird.

Kommentare (17)

Zusätzlich zu den obigen Antworten sollte gesagt werden, dass Tomcat über einen eigenen HTTP-Server verfügt und auch bei der Bereitstellung statischer Inhalte voll funktionsfähig ist. Abhängig von der Konfiguration Ihrer virtuellen Java-Maschine kann er sogar die traditionellen Konnektoren des Apache wie mod_proxy und mod_jk übertreffen.

Abgesehen davon sollte ein vollständig optimierter Tomcat-Server statische Dateien schnell bereitstellen, und wenn Sie neben statischen Inhalten auch Java-Servlets, JSPs und ColdFusion-Dateien haben, kann Tomcat selbst hervorragende Arbeit leisten.

Kommentare (2)

Tomcat ist in erster Linie ein Anwendungsserver, der Anfragen an selbst erstellte Java-Servlets oder JSP-Dateien auf Ihrem Server bedient. Er wird in der Regel in Verbindung mit dem Apache-HTTP-Server verwendet (zumindest meiner Erfahrung nach). Verwenden Sie ihn, um eingehende Anfragen manuell zu verarbeiten.

Der HTTP-Server allein eignet sich am besten für die Bereitstellung statischer Inhalte... html-Dateien, Bilder usw.

Kommentare (5)