Apache HTTP Server和Apache Tomcat之间的区别?

时间:2008-08-27 16:57:16

标签: apache tomcat webserver

Apache HTTP Server和Apache Tomcat之间的功能有何不同?

我知道Tomcat是用Java编写的,而HTTP Server是用C编写的,但除此之外,我真的不知道它们是如何区分的。他们有不同的功能吗?

8 个答案:

答案 0 :(得分:442)

Apache Tomcat用于部署Java Servlet和JSP。因此,在Java项目中,您可以构建WAR(Web ARchive的简称)文件,并将其放在Tomcat的deploy目录中。

所以基本上Apache是​​HTTP服务器,服务于HTTP。 Tomcat是一个服务于Java技术的Servlet和JSP服务器。

Tomcat是一个servlet容器。最后,一个servlet是一个Java类。 JSP文件(类似于PHP和较旧的ASP文件)生成为Java代码(HttpServlet),然后由服务器将其编译为.class文件并由Java虚拟机执行。

答案 1 :(得分:111)

除了上面的精确答案之外,我认为应该说Tomcat内置了自己的HTTP服务器,并且在提供静态内容方面也非常实用。根据您的java虚拟机配置,它实际上可以超越传统的apache连接器,如mod_proxy和mod_jk。

那说完全优化的Tomcat服务器应该快速提供静态文件,如果你有静态内容的Java servlet,JSP和ColdFusion文件,你可能会发现tomcat本身就是一个很好的工作。

答案 2 :(得分:75)

  1. Apache是​​一个通用的http服务器,它支持许多Tomcat不支持的高级选项。
  2. 虽然Tomcat可以用作通用的http服务器,但您也可以将Apache和Tomcat设置为与Apache服务静态内容一起使用,并将动态内容请求转发给Tomcat。

答案 3 :(得分:28)

Tomcat主要是一个应用程序服务器,它为您服务器上的自定义Java servlet或JSP文件提供请求。它通常与Apache HTTP服务器一起使用(至少根据我的经验)。用它来手动处理传入的请求。

HTTP服务器本身最适合提供静态内容... html文件,图像等。

答案 4 :(得分:20)

apache服务器是一个http服务器,它可以提供任何简单的http请求,其中tomcat服务器实际上是一个可以为java servlet请求提供服务的servlet容器。

Web服务器[apache]进程Web客户端(Web浏览器)请求并将其转发到servlet容器[tomcat],容器处理请求并发送由Web服务器转发到Web客户端[浏览器]的响应。

您也可以查看此链接以获得更多说明: -

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

同时查看此答案以进行进一步研究: -

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

答案 5 :(得分:14)

如果您使用Java技术(Servlet / JSP)制作Web应用程序,您可能会使用Apache Tomcat。 但是,如果您使用其他技术(如Perl,PHP或ruby),则更好(更容易)使用Apache HTTP Server。

答案 6 :(得分:4)

嗯,Apache是​​HTTP网络服务器,其中Tomcat也是Servlet和JSP的网络服务器。 此外,Apache实时优于Apache Tomcat

答案 7 :(得分:-1)

Apache是​​一个HTTP Web服务器,用作HTTP。

Apache Tomcat是一个java servlet容器。它与Web服务器的功能相同,但是可以自定义以执行java servlet和JSP页面。