Разница между HTTP-сервером Apache и Apache Tomcat? [закрытый]

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

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

8 ответов


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

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

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


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

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


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

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

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


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

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

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

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

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

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


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


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


Apache-это веб-сервер HTTP, он служит HTTP, но apache tomcat-это контейнер сервлетов java,он имеет те же функции, что и веб-сервер, настроенный для выполнения Java-сервлетов и страниц JSP.