Разница между 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.