首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【web】Apache和Tomcat区别&WEB服务器、应用程序服务器、HTTP服务器区别

文章目录

1. Apache和Tomcat区别

2. WEB服务器、应用程序服务器、HTTP服务器区别

2.1 总结

1. Apache和Tomcat区别

Apache 和 Tomcat 都是web网络服务器,两者既有联系又有区别:

Apache是web服务器(仅支持静态解析,如HTML)

也就是说你在服务器的目录下面丢个index.html,通过http:xxx//8080/index.html可以访问

倘若丢个index.jsp,无法解析,无法通过http:xxx//8080/index.jsp访问

tomcat是java应用服务器(支持动态解析,如JSP)

确切的说tomcat是轻量级应用服务器,下文会再次介绍

index.html和index.jsp均支持,但对静态文件处理的性能差,这一点不如Apache 效率高

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

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

因此,由于各有优缺点,一般会整合使用:

如果请求是静态网页则由Apache处理,并将结果返回;

如果是动态请求,Apache会将解析工作转发给Tomcat处理,Tomcat处理后将结果通过Apache返回。

这样可以达到分工合作,实现负载均衡,提高系统的性能。

2. WEB服务器、应用程序服务器、HTTP服务器区别

Web 应用架构图:

WEB服务器、应用程序服务器、HTTP服务器有何区别?IIS、Apache、Tomcat、Weblogic、WebSphere都各属于哪种服务器,这些问题困惑了很久,今天终于梳理清楚了:

Web服务器的基本功能就是提供Web信息浏览服务。它只需支持及URL。与客户端的网络浏览器配合。因为Web服务器主要支持的协议就是HTTP,所以(有没有支持除HTTP之外的协议的web服务器,作者没有考证过),说的是一回事。

简单来说web服务就是处理http请求,提供入口或提供加载静态页面的功能

应用程序服务器(简称应用服务器),我们先看一下微软对它的定义:“我们把应用程序服务器定义为“作为服务器执行共享业务应用程序的底层的系统软件”。就像文件服务器为很多用户提供文件一样,应用程序服务器让多个用户可以同时使用应用程序(通常是客户创建的应用程序)”

简单来说应用程序服务器就是能处理业务的,比如cpu处理运算或和数据库进行交互

通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑 (business logic)。

以Java EE为例,Web服务器主要是处理静态页面处理和作为 Servlet容器,解释和执行servlet/JSP,而应用服务器是运行业务逻辑的,主要是EJB、 JNDI和JMX API等J2EE API方面的,还包含事务处理、数据库连接等功能,所以在企业级应用中,应用服务器提供的功能比WEB服务器强大的多。

以这样的定义,IIS、Apache、Tomcat都可以属于Web服务器,Weblogic、WebSphere都属于应用服务器。

:在Web服务器中,Apache是纯粹的Web服务器,经常与Tomcat配对使用。它对HTML页面具有强大的解释能力,但是不能解释嵌入页面内的服务器端脚本代码(JSP/Servlet)。

:早期的Tomcat是一个嵌入Apache内的JSP/Servlet解释引擎Apache+Tomcat就相当于IIS+ASP。后来的Tomcat已不再嵌入Apache内,Tomcat进程独立于Apache进程运行。而且,Tomcat已经是一个独立的Servlet和JSP容器,业务逻辑层代码和界面交互层代码可以分离了。因此,有人把Tomcat叫做。

:微软早期的IIS,就是一个纯粹的Web服务器。后来,它嵌入了ASP引擎,可以解释VBScript和JScript服务器端代码了,这时,它就可以兼作应用服务器。当然,它与J2EE应用服务器根本无法相比,但是,从功能上说,从原理上说,它勉强可以称之为应用服务器。确切地说,它是兼有一点应用服务器功能的Web服务器。

综上:Apache是纯粹的web服务器,而Tomcat和IIS因为具有了解释执行服务器端代码的能力,可以称作为轻量级应用服务器或带有服务器功能的Web服务器。Weblogic、WebSphere因为能提供强大的J2EE功能,毫无疑问是绝对的应用服务器。对于处于中间位置的Tomcat,它可以配合纯Web服务器Apache一起使用,也可以作为应用服务器的辅助与应用服务器一起部署

2.1 总结

一个软件有多个身份,如下图所示,因此界限有所模糊:

Web服务器是提供WWW服务的程序;

Web容器是提供给开发者的框架;

Web应用程序服务器内容丰富得多,既可用各厂商通常遵循一定的工业标准并自定义扩展功能而成,也可以利用开源组件轻量级拼装打造;

反向代理服务器在企业级应用中表现突出,具有解决集中式安全,负载均衡等等优点。

如今这四个概念的边界越来模糊,看看这个表就知道了:

------------END-----------

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210307A01XN400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券