作者:郭无心
链接:https://www.zhihu.com/question/37155807/answer/72706896
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

  Apache是web服务器(静态解析,如HTML),tomcat是java应用服务器(动态解析,如JSP)

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

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

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

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

  3、两者都是开源免费的

联系

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

  2)Apache只支持静态网页,但像Jsp动态网页就需要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的服务开销

转载于:https://www.cnblogs.com/leibao/p/8464463.html

Apache和Tomcat的区别与联系相关推荐

  1. 【Web网站服务器开发】Apache 和 Tomcat的区别及配置

    Apache 和 Tomcat 都是web网络服务器,两者既有联系又有区别,在进行HTML.PHP.JSP.Perl等开发过程中,需要准确掌握其各自特点,选择最佳的服务器配置. apache是web服 ...

  2. apache和tomcat的区别

    Apache 和 Tomcat 都是web网络服务器,两者既有联系又有区别,在进行HTML.PHP.JSP.Perl等开发过程中,需要准确掌握其各自特点,选择最佳的服务器配置. Apache是web服 ...

  3. apache/nginx/tomcat的区别

    根据[1] ①:Nginx的并发性要比apache好很多: ②:nginx属于轻量级服务器软件,apache属于重量级软件: ③:nginx在处理静态页的效率要比apache好很多,apache在处理 ...

  4. apache   和Tomcat的区别

    经常在用apache和tomcat等这些服务器,可是总感觉还是不清楚他们之间有什么关系,在用tomcat的时候总出现apache,总感到迷惑,到底谁是主谁是次,因此特意在网上查询了一些这方面的资料,总 ...

  5. JSP之WEB服务器:Apache与Tomcat的区别 ,几种常见的web/应用服务器

    APACHE是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页 如(asp,php,cgi,jsp)等动态网页的就不行 如果要在APACHE环境下运行jsp 的话就需要一个 ...

  6. Nginx和Apache和Tomcat的区别及优缺点

    Apache Tomcat Nginx Tomcat结合Apache.Nginx一起使用实现高性能的web服务器架构 架构思路: 注意: nginx 和 apache 优缺点比较 注意: tomcat ...

  7. apache 和tomcat的区别

    2019独角兽企业重金招聘Python工程师标准>>> http://www.cnblogs.com/warioland/archive/2011/12/05/2276729.htm ...

  8. Apache与Tomcat的区别

    000 转载于:https://www.cnblogs.com/Chamberlain/p/11105066.html

  9. web服务器之iis,apache,tomcat三者之间的比较

    IIS-Apache-Tomcat的区别  IIS与Tomcat的区别 IIS是微软公司的Web服务器.主要支持ASP语言环境.  Tomcat是Java Servlet 2.2和JavaServer ...

最新文章

  1. pat1004. Counting Leaves (30)
  2. 凡客诚品-工作经历 程序员你有一个感恩的心吗?
  3. pygame-KidsCanCode系列jumpy-part10-角色动画(上)
  4. 计算机专业读mba,计算机专业的学生适合读MBA吗MBA考试_MBA-教育宝
  5. 一个机械系毕业生的感言
  6. java工程mvn引用jar_maven 项目加载本地JAR
  7. 【Pytorch】X.view(-1)操作
  8. html网页制作特效代码,超全html网页制作特效代码.doc
  9. n1盒子救砖_N1不能通过网络刷机后拆机救砖
  10. python写梦幻西游手游脚本_AirtestIDE实践一:梦幻西游手游师门任务自动化
  11. 用单片机实现流水灯(进阶版)
  12. 2017下半年网络工程师考试报名方式
  13. 如何导出微信公众号文章数据!
  14. MNIST | 基于朴素贝叶斯分类器的0-9数字手写体识别
  15. 【YBT2022寒假Day8 A】染色计划(Tarjan)(线段树优化建边)(树链剖分)
  16. html5 自动点击按钮,自动击键神器!一键实现自动点击功能!关键模拟应用
  17. Nmap常用命令及扫描原理
  18. kindeditor html上传本地图片
  19. IBuySpy 网上商店的设计和实现
  20. 天兔(Lepus)数据库监控系统快速安装部署

热门文章

  1. 熊猫to_csv()–将DataFrame转换为CSV
  2. java 同步块关键字_Java同步关键字,同步方法和块
  3. 在Winform中使用MoonPdfLib(Wpf控件)
  4. CString,string,char*,比较
  5. msscript 64位找不到的替代方法
  6. 提高 Linux 开发效率的 5 个工具
  7. 1002. 三角形 (
  8. SQLSERVER中如何快速比较两张表的不一样
  9. 【动态规划】LeetCode 377. Combination Sum IV
  10. 几个用于更精细判断敛散性的级数