找回密码
 加入怎通
查看: 373|回复: 2

[其他] Apache与Tomcat 区别联系

[复制链接]
千喜娟娟 发表于 2015-04-22 11:49:41 | 显示全部楼层 |阅读模式
Apache与Tomcat 区别联系
! j! h* R5 m6 {# B# J4 l, c9 x: _# D' t6 H
 Apache 和 Tomcat 都是web网络服务器,两者既有联系又有区别,在进行HTML、PHP、JSP、Perl等开发过程中,需要准确掌握其各自特点,选择最佳的服务器配置。! x& y5 ?6 w. L8 B  [/ u
  Apache是web服务器(静态解析,如HTML),tomcat是java应用服务器(动态解析,如JSP、PHP)* i0 P+ n) F" K/ Y; I3 r' e
  Tomcat只是一个servlet(jsp也翻译成servlet)容器,可以认为是apache的扩展,但是可以独立于apache运行.
6 C: t' p7 L0 E) L4 m" x; g
% p' B$ r& l7 t0 J2 k) ~ 两者从以下几点可以比较的: 4 i' ~( J4 r- {, G1 q# k
  1、两者都是apache组织开发的
: h( e% k7 }  }; r. P! i' S+ B* y  2、两者都有HTTP服务的功能
" p/ [" q5 |1 R/ Y# N+ Q2 k& q. _. ^  3、两者都是开源免费的3 d; _. P- j% Y
0 i% }& ?) J- C5 m
联系7 X9 I  q+ T0 A- }
  1)Apache是普通服务器,本身只支持html即普通网页,可以通过插件支持php,还可以与Tomcat连通(Apache单向连接Tomcat,就是说通过Apache可以访问Tomcat资源,反之不然)。  9 D, j- H8 N, q) y  V
  2)Apache只支持静态网页,但像asp、jsp、php、cgi等动态网页就需要Tomcat来处理。$ S8 w: ^: ~3 s# H; ]3 \2 ?5 @6 I" @
  3)Apache和Tomcat整合使用:
7 z7 H  u% p6 @    如果客户端请求的是静态页面,则只需要Apache服务器响应请求;' D2 m3 i' A: R: j2 b0 X% e
    如果客户端请求动态页面,则是Tomcat服务器响应请求,将解析的JSP等网页代码解析后回传给Apache服务器,再经Apache返回给浏览器端。3 H; M& X# b% j, q: @$ z
    这是因为jsp是服务器端解释代码的,Tomcat只做动态代码解析,Apache回传解析好的静态代码,Apache+Tomcat这样整合就可以减少Tomcat的服务开销。
4 D/ a" Y% p$ [, Q, e8 [  4)Apache和Tomcat是独立的,在同一台服务器上可以集成。2 v: M) w5 \" T, K
区别
7 s" M8 D* w' L! }( G# L  Apache是有C语言实现的,支持各种特性和模块从而来扩展核心功能;Tomcat是Java编写的,更好的支持Servlet和JSP。8 y% L: Z0 ?# P# R& Y- D
  1、Apache是Web服务器,Web服务器传送(serves)页面使浏览器可以浏览,Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供 (serves)商业逻辑(business logic)。
! H- I! |/ o' E4 I  Tomcat是运行在Apache上的应用服务器,应用程序服务器提供的是客户端应用程序可以调用(call)的方法 (methods)。它只是一个servlet(jsp也翻译成servlet)容器,可以认为是Apache的扩展,但是可以独立于apache运行。
" Q  j' h; x! j  2、Apache是普通服务器,本身只支持html静态普通网页。不过可以通过插件支持PHP,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源,反之不然),Tomcat是jsp/servlet容器,同时也支持HTML、JSP、ASP、PHP、CGI等,其中CGI需要一些手动调试,不过很容易的。# [# ], D' v. s' G; E, D
  3、Apache侧重于http server,Tomcat侧重于servlet引擎,如果以standalone方式运行,功能上Tomcat与apache等效支持JSP,但对静态网页不太理想。
) o% U8 _9 p) G1 j2 U  4、Apache可以运行一年不重启,稳定性非常好,而Tomcat则不见得。0 U* {: }0 Q# \$ ~; n) N0 e
  5、首选web服务器是Apache,但Apache解析不了的jsp、servlet才用tomcat。
  B3 h2 ~8 _' \" {/ D2 v% p6 {( ~  6、Apache是很最开始的页面解析服务,tomcat是后研发出来的,从本质上来说tomcat的功能完全可以替代Apache,但Apache毕竟是tomcat的前辈级人物,并且市场上也有不少人还在用Apache,所以Apache还会继续存在,不会被取代,apache不能解析java的东西,但解析html速度快。
: P6 t3 A) P! l0 r; s两者例子:
! p4 W$ {: L) w/ x0 V4 R  Apache是一辆车,上面可以装一些东西如html等,但是不能装水,要装水必须要有容器(桶),而这个桶也可以不放在卡车上,那这个桶就是TOMCAT。
4 ?+ I" e. }1 k& V0 E0 C两者整合:
: w, w& ?* L  Z! q  U7 g) U  Apache是一个web服务器环境程序,启用他可以作为web服务器使用不过只支持静态网页,不支持动态网页,如asp、jsp、php、cgi5 k8 ]1 x- l3 k% w  Z, n5 q6 k
  如果要在Apache环境下运行jsp就需要一个解释器来执行jsp网页,而这个jsp解释器就是Tomcat$ ~  p% n0 j' u
  那为什么还要JDK呢?因为jsp需要连接数据库的话就要jdk来提供连接数据库的驱程,所以要运行jsp的web服务器平台就需要APACHE+TOMCAT+JDK
3 I% d% T. D6 ?- N3 j3 l* L4 S整合的好处:) k, z5 v- b5 n; n
  如果客户端请求的是静态页面,则只需要Apache服务器响应请求
; h5 q  b4 V4 a- G, ^* ]. m  如果客户端请求动态页面,则是Tomcat服务器响应请求7 w! {( n# B' Z
  因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销$ w* q% n2 C  o' L. E. {
& @; ~- |0 L/ L

- O- t4 X/ \# D# P& A3 i8 q& r
回复

使用道具 举报

◇|OvЁ貝 发表于 2026-04-07 16:57:53 | 显示全部楼层
楼主太厉害了,整理得这么详细,必须支持
回复 支持 反对

使用道具 举报

imtestss 发表于 2026-04-07 18:55:10 | 显示全部楼层
内容很干货,没有多余的废话,值得反复看
回复 支持 反对

使用道具 举报

    您需要登录后才可以回帖 登录 | 加入怎通

    本版积分规则

    QQ|手机版|小黑屋|网站地图|真牛社区 ( 苏ICP备2023040716号-2 )

    GMT+8, 2026-4-7 18:56 , Processed in 0.052459 second(s), 24 queries , Gzip On.

    免责声明:本站信息来自互联网,本站不对其内容真实性负责,如有侵权等情况请联系420897364#qq.com(把#换成@)删除。

    Powered by Discuz! X3.5

    快速回复 返回顶部 返回列表