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

StackOverflow https://stackoverflow.com/questions/30632

  •  09-06-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

Тем не менее, полностью оптимизированный сервер Tomcat должен быстро обслуживать статические файлы, и если у вас есть сервлеты Java, JSP и файлы 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, лучше (проще) использовать HTTP-сервер Apache.

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

Apache — это веб-сервер HTTP, который работает как HTTP.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top