Разница между HTTP-сервером Apache и Apache Tomcat?

В чем разница в функциональности между Apache HTTP Server и Apache Tomcat?

Я знаю, что Tomcat написан на Java, а HTTP-сервер - на C, но кроме этого я действительно не знаю, как они отличаются. Имеют ли они разные функции?

Ответ 1

Apache Tomcat используется для развертывания ваших Java-сервлетов и JSP. Таким образом, в вашем проекте Java вы можете создать файл WAR (сокращение от Web ARchive) и просто поместить его в каталог развертывания в Tomcat.

В общем, Apache - это HTTP-сервер, обслуживающий HTTP. Tomcat - это сервлет и сервер JSP, обслуживающий технологии Java.

Tomcat включает в себя Catalina, которая является контейнером сервлетов. В конце сервлет - это класс Java. Файлы JSP (которые похожи на PHP и более старые файлы ASP) генерируются в код Java (HttpServlet), который затем компилируется сервером в файлы .class и выполняется виртуальной машиной Java.

Ответ 2

В дополнение к тонким ответам выше, я думаю, следует сказать, что Tomcat имеет собственный HTTP-сервер, встроенный в него, и полностью функциональен для обслуживания статического контента. В зависимости от вашей конфигурации виртуальной машины java она может фактически превзойти традиционные подключения в apache, такие как mod_proxy и mod_jk.

Тем не менее, полностью оптимизированный сервер Tomcat должен быстро обслуживать статические файлы, и если у вас есть сервлеты Java, JSP и файлы ColdFusion в дополнение к статическому контенту, вы можете найти, что tomcat делает отличную работу сам по себе.

Ответ 3

  • Apache - это универсальный HTTP-сервер, который поддерживает ряд дополнительных опций, недоступных Tomcat.
  • Хотя Tomcat может использоваться как HTTP-сервер общего назначения, вы также можете настроить Apache и Tomcat для совместной работы с Apache, обслуживающим статический контент и пересылку запросов на динамический контент в Tomcat.

Ответ 4

Tomcat - это, прежде всего, сервер приложений, который обслуживает запросы на настраиваемые Java-сервлеты или JSP файлы на вашем сервере. Он обычно используется в сочетании с HTTP-сервером Apache (по крайней мере, по моему опыту). Используйте его для ручного обработки входящих запросов.

HTTP-сервер сам по себе лучше всего обслуживать статический контент... html файлы, изображения и т.д.

Ответ 5

сервер apache - это сервер http, который может обслуживать любые простые запросы http, где сервер tomcat на самом деле является контейнером сервлетов, который может обслуживать запросы сервлетов java.

Веб-сервер [apache] обрабатывает запросы веб-клиента (веб-браузеры) и направляет его в контейнер сервлетов [tomcat], а контейнер обрабатывает запросы и отправляет ответ, который передается веб-сервером веб-клиенту [браузеру].

Также вы можете проверить эту ссылку для уточнения: -

https://sites.google.com/site/sureshdevang/servlet-architecture

Также проверьте этот ответ для дальнейшего исследования: -

https://softwareengineering.stackexchange.com/a/221092

Ответ 6

Если вы используете Java-технологию (Servlet/JSP) для создания веб-приложения, вы, вероятно, будете использовать Apache Tomcat. Однако, если вы используете другие технологии, такие как Perl, PHP или ruby, лучше (проще) использовать Apache HTTP Server.

Ответ 7

Ну, Apache - это веб-сервер HTTP, где Tomcat также является веб-сервером для Servlets и JSP. Кроме того, Apache предпочитает Apache Tomcat в режиме реального времени

Ответ 8

Apache - это веб-сервер HTTP, который служит HTTP.

Apache Tomcat - это контейнер Java-сервлетов. Он работает так же, как веб-сервер, но настроен для выполнения страниц Java-сервлета и страниц JSP.