Apache HTTP Server和Apache Tomcat在功能方面有什么区别?
我知道Tomcat是用Java编写的,而HTTP Server是用C编写的,但是除此之外,我真的不知道它们的区别。它们有不同的功能吗?
closed
关于此问题的通知说,它要求答案具有客观的内容,但是期望该问题会产生主观的答案内容-大多数答案似乎包含客观的内容(尤其是投票较高的答案),而不是主观的-因此,此问题应该是未关闭的。对主观性的恐惧从来没有真正发生过,我不同意这个问题首先冒主观性的风险。
Apache HTTP Server和Apache Tomcat在功能方面有什么区别?
我知道Tomcat是用Java编写的,而HTTP Server是用C编写的,但是除此之外,我真的不知道它们的区别。它们有不同的功能吗?
closed
关于此问题的通知说,它要求答案具有客观的内容,但是期望该问题会产生主观的答案内容-大多数答案似乎包含客观的内容(尤其是投票较高的答案),而不是主观的-因此,此问题应该是未关闭的。对主观性的恐惧从来没有真正发生过,我不同意这个问题首先冒主观性的风险。
Answers:
Apache Tomcat用于部署Java Servlet和JSP。因此,在Java项目中,您可以构建WAR(Web ARchive的缩写)文件,然后将其放在Tomcat的deploy目录中。
因此,基本上Apache是服务HTTP的HTTP服务器。Tomcat是服务于Java技术的Servlet和JSP Server。
Tomcat包括Catalina,这是一个Servlet容器。最后,Servlet是Java类。JSP文件(类似于PHP,以及较旧的ASP文件)生成为Java代码(HttpServlet),然后由服务器编译为.class文件,并由Java虚拟机执行。
httpd
Web服务器产品后面使用Tomcat的Servlet功能。
Tomcat = ( Web Server + Servlet container + JSP environment )
。当您运行Tomcat的startup.sh
脚本时,Web服务器默认为ON ,在端口8080上侦听传入连接(HTTP调用)。Tomcat是纯Java,具有自己的Web服务器实现(Coyote)。的Apache HTTP服务器(AHS),与此相反,具有一个完全独立的执行的web服务器的,使用本机C / C ++代码。AHS非常灵活且功能强大,但通常会显得过分杀伤力。Tomcat自己的Web服务器运行良好。仅在确实需要时才使用AHS。
除了上面的好答案之外,我认为应该说Tomcat内置了它自己的HTTP服务器,并且在提供静态内容方面也具有全部功能。根据您的Java虚拟机配置,它实际上可以胜过Apache中传统的连接器,例如mod_proxy和mod_jk。
那就是说,完全优化的Tomcat服务器应该快速提供静态文件,并且如果您除了静态内容之外还具有Java servlet,JSP和ColdFusion文件,您可能会发现tomcat本身可以做得很好。
mod_rewrite
引擎和条件环境注入。mod_proxy
提供基本的负载平衡(并与mod_jk组合提供负载平衡的Tomcat实例之间的基本粘性会话/共享状态)。
Tomcat主要是一个应用程序服务器,它向服务器上的自定义Java servlet或JSP文件提供请求。它通常与Apache HTTP服务器结合使用(至少以我的经验)。使用它来手动处理传入的请求。
HTTP服务器本身最适合提供静态内容... html文件,图像等。
Tomcat is primarily an application server
声明。
apache服务器是可以服务任何简单http请求的http服务器,其中tomcat服务器实际上是可以服务java servlet请求的servlet容器。
Web服务器[apache]处理Web客户端(Web浏览器)的请求并将其转发到servlet容器[tomcat],容器对请求进行处理并发送响应,该响应由Web服务器转发到Web客户端[浏览器]。
您也可以检查此链接以获取更多说明:-
https://sites.google.com/site/sureshdevang/servlet-architecture
还检查此答案以进行进一步研究:-
如果使用Java技术(Servlet / JSP)制作Web应用程序,则可能会使用Apache Tomcat。但是,如果您正在使用其他技术(例如Perl,PHP或ruby),则最好(更容易)使用Apache HTTP Server。
好吧,Apache是HTTP Web服务器,而Tomcat也是Servlet和JSP的Web服务器。此外,Apache实时优于Apache Tomcat