Apache和Tomcat的联系和区别

摘要:摘要: 运维时发现自己对这些不是很了解,直到昨天同事问了我这个问题时才发现它的重要性,看来是要总结下了。

Apache是web服务器(静态解析,如:HTML),Tomcat是java应用服务器(动态解析,如:JSP、PHP),Tomcat只是一个servlet容器(JSP翻译成一个servlet)

(一)、Apache和Tomcat的特点:

 

Apache: 是C语言实现的,专门用来提供HTTP服务。
特性:简单、速度快、性能稳定、可配置(代理)
1、主要用于解析静态文本,并发性能高,侧重于HTTP服务;
2、支持静态页(HTML),不支持动态请求如:CGI、Servlet/JSP、PHP、ASP等;
3、具有很强的可扩展性,可以通过插件支持PHP,还可以单向Apache连接Tomcat实现连通;
4、Apache是世界使用排名第一的Web服务器。
Tomcat: 是Java开发的一个符合JavaEE的Servlet规范的JSP服务器(Servlet容器),是 Apache 的扩展。
特性:免费的Java应用服务器
1、主要用于解析JSP/Servlet,侧重于Servlet引擎;
2、支持静态页,但效率没有Apache高;支持Servlet、JSP请求;
3、Tomcat本身也内置了一个HTTP服务器用于支持静态内容,可以通过Tomcat的配置管理工具实现与 Apache整合。
1 (70).jpg

(二)、Apache和Tomcat的联系:

1、一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由tomcat来处理 的。apache可以支持phpcgiperl,但是要使用java的话,你需要tomcat在apache后台支撑,将java请求由 apache转发给tomcat处理。

2、apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet(jsp也翻译成servlet) 容器,可以认为是apache的扩展,但是可以独立于apache运行。
3、 Apache是专门用了提供HTTP服务的,以及相关配置的(例如虚拟主机、URL转发等等)

Tomcat是Apache组织在符合J2EE的JSP、Servlet标准下开发的一个JSP服务器 。

(三)、Apache和Tomcat的区别:

1、Apache是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页 如 (asp,php,cgi,jsp)等动态网页的就不行。

2、如果要在Apache环境下运行jsp 的话就需要一个解释器来执行jsp网页 而这个jsp解释器就是 TOMCAT, 为什么还要JDK呢?因为jsp需要连接数据库的话就要jdk来提供连接数据库的驱程,所 以要运行jsp的web服务器平台就需要APACHE+TOMCAT+JDK的整合。如果客户端请求的是静态页 面,则只需要Apache服务器响应请求 如果客户端请求动态页面,则是Tomcat服务器响应请求,因 为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销。

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

总结:apache是web服务器,tomcat是应用(java)服务器,它只是一个servlet(jsp也翻译成servlet)容器,可 以认为是apache的扩展,但是可以独立于apache运行。 换句话说,apache是一辆卡车,上面可以装一些 东西如html等。但是不能装水,要装水必须要有容器(桶),而这个桶也可以不放在卡车上。