Apache HTTP Server和Apache Tomcat之间的功能有何不同?
我知道Tomcat是用Java编写的,而HTTP Server是用C编写的,但除此之外,我真的不知道它们是如何区分的。他们有不同的功能吗?
答案 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)
答案 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
同时查看此答案以进行进一步研究: -
答案 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页面。