Apache 和 Tomcat 都是web网络服务器,两者既有联系又有区别,在进行HTML、PHP、JSP、Perl等开发过程中,需要准确掌握其各自特点,选择最佳的服务器配置。
---------------------首先看下它们的联系:
1、两者都是apache组织开发的开源免费的服务器2、两者都有HTTP服务的功能
3、Apache和Tomcat整合使用:
如果客户端请求的是静态页面,则只需要Apache服务器响应请求;
如果客户端请求动态页面,则是Tomcat服务器响应请求,将解析的JSP等网页代码解析后回传给Apache服务器,再经Apache返回给浏览器端。
这是因为jsp是服务器端解释代码的,Tomcat只做动态代码解析,Apache回传解析好的静态代码,Apache+Tomcat这样整合就可以减少Tomcat的服务开销。
4、Apache和Tomcat是相互独立的但又能够相互集成,通俗的说:各自能跑,绑在一起也能跑。
------------------再看看它们的区别:
1、Apache是有C语言实现的,支持各种特性和模块从而来扩展核心功能;Tomcat是Java编写的,更好的支持Servlet和JSP。
2、Apache是普通web服务器,仅仅静态网页解析,比如HTML网页,不支持动态网页解析。如果是一个单纯的静态网站,使用Apache就已经够了。
Tomcat是java应用服务器,支持动态解析,比如HTML、JSP、ASP、PHP、CGI等,其中CGI需要一些手动调试,不过很容易的。Tomcat只是一个servlet(jsp也翻译成servlet)容器,可以认为是apache的扩展,但是可以独立于apache运行,这个Tomcat支持很多插件的扩展。
3、可以将二者集成在一起,Apache可以单向连接Tomcat,就是说通过Apache可以访问Tomcat资源,反之不然
4、Apache侧重于http server,Tomcat侧重于servlet引擎,如果以standalone方式运行,在功能上讲,Tomcat与apache等效支持JSP,但Tomcat对静态网页不太理想。
5、Apache可以运行一年不重启,稳定性非常好,而Tomcat则不见得。
6、Apache是很早开始的页面解析服务,tomcat是后来研发出来的,从本质上来说tomcat的功能完全可以替代Apache,但Apache毕竟是tomcat的前辈级人物,并且市场上也有不少人还在用Apache,所以Apache还会继续存在,不会被取代,apache不能解析java的东西,但解析html速度快。
-----------------注意:
如果客户端请求的是静态页面,则只需要Apache服务器就能响应,如果客户端请求的是jsp之类的动态页面,则需要Tomcat服务器响应请求,因为jsp服务器解析代码的,这样整合就可以减少Tomcat的开销。