Apache和Tomcat服务器间的区别、联系、整合详细介绍

时间:2021-09-04 21:04:57

apache 和 tomcat 都是web网络服务器,两者既有联系又有区别,在进行html、php、jsp、perl等开发过程中,需要准确掌握其各自特点,选择最佳的服务器配置。

  apache是web服务器(静态解析,如html),tomcat是java应用服务器(动态解析,如jsp、php)

  tomcat只是一个servlet(jsp也翻译成servlet)容器,可以认为是apache的扩展,但是可以独立于apache运行

两者从以下几点可以比较的:

  1、两者都是apache组织开发的

  2、两者都有http服务的功能

  3、两者都是开源免费的

Apache和Tomcat服务器间的区别、联系、整合详细介绍

联系

  1)apache是普通服务器,本身只支持html即普通网页,可以通过插件支持php,还可以与tomcat连通(apache单向连接tomcat,就是说通过apache可以访问tomcat资源,反之不然)。  

  2)apache只支持静态网页,但像asp、jsp、php、cgi等动态网页就需要tomcat来处理。

  3)apache和tomcat整合使用:

    如果客户端请求的是静态页面,则只需要apache服务器响应请求;

    如果客户端请求动态页面,则是tomcat服务器响应请求,将解析的jsp等网页代码解析后回传给apache服务器,再经apache返回给浏览器端。

    这是因为jsp是服务器端解释代码的,tomcat只做动态代码解析,apache回传解析好的静态代码,apache+tomcat这样整合就可以减少tomcat的服务开销。

  4)apache和tomcat是独立的,在同一台服务器上可以集成。

区别

  apache是有c语言实现的,支持各种特性和模块从而来扩展核心功能;tomcat是java编写的,更好的支持servlet和jsp。

  1、apache是web服务器,web服务器传送(serves)页面使浏览器可以浏览,web服务器专门处理http请求(request),但是应用程序服务器是通过很多协议来为应用程序提供 (serves)商业逻辑(business logic)。

  tomcat是运行在apache上的应用服务器,应用程序服务器提供的是客户端应用程序可以调用(call)的方法 (methods)。它只是一个servlet(jsp也翻译成servlet)容器,可以认为是apache的扩展,但是可以独立于apache运行。

  2、apache是普通服务器,本身只支持html静态普通网页。不过可以通过插件支持php,还可以与tomcat连通(单向apache连接tomcat,就是说通过apache可以访问tomcat资源,反之不然),tomcat是jsp/servlet容器,同时也支持html、jsp、asp、php、cgi等,其中cgi需要一些手动调试,不过很容易的。

  3、apache侧重于http server,tomcat侧重于servlet引擎,如果以standalone方式运行,功能上tomcat与apache等效支持jsp,但对静态网页不太理想。

  4、apache可以运行一年不重启,稳定性非常好,而tomcat则不见得。

  5、首选web服务器是apache,但apache解析不了的jsp、servlet才用tomcat。

  6、apache是很最开始的页面解析服务,tomcat是后研发出来的,从本质上来说tomcat的功能完全可以替代apache,但apache毕竟是tomcat的前辈级人物,并且市场上也有不少人还在用apache,所以apache还会继续存在,不会被取代,apache不能解析java的东西,但解析html速度快。

两者例子:

  apache是一辆车,上面可以装一些东西如html等,但是不能装水,要装水必须要有容器(桶),而这个桶也可以不放在卡车上,那这个桶就是tomcat。

两者整合

  apache是一个web服务器环境程序,启用他可以作为web服务器使用不过只支持静态网页,不支持动态网页,如asp、jsp、php、cgi

  如果要在apache环境下运行jsp就需要一个解释器来执行jsp网页,而这个jsp解释器就是tomcat

  那为什么还要jdk呢?因为jsp需要连接数据库的话就要jdk来提供连接数据库的驱程,所以要运行jsp的web服务器平台就需要apache+tomcat+jdk

整合的好处:

  如果客户端请求的是静态页面,则只需要apache服务器响应请求

  如果客户端请求动态页面,则是tomcat服务器响应请求

  因为jsp是服务器端解释代码的,这样整合就可以减少tomcat的服务开销