WEB服务器、应用程序服务器有何区别IIS、Apache、Tomcat、Weblogic

上传人:洪易 文档编号:32579884 上传时间:2018-02-11 格式:DOC 页数:4 大小:39KB
返回 下载 相关 举报
WEB服务器、应用程序服务器有何区别IIS、Apache、Tomcat、Weblogic_第1页
第1页 / 共4页
WEB服务器、应用程序服务器有何区别IIS、Apache、Tomcat、Weblogic_第2页
第2页 / 共4页
WEB服务器、应用程序服务器有何区别IIS、Apache、Tomcat、Weblogic_第3页
第3页 / 共4页
WEB服务器、应用程序服务器有何区别IIS、Apache、Tomcat、Weblogic_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《WEB服务器、应用程序服务器有何区别IIS、Apache、Tomcat、Weblogic》由会员分享,可在线阅读,更多相关《WEB服务器、应用程序服务器有何区别IIS、Apache、Tomcat、Weblogic(4页珍藏版)》请在金锄头文库上搜索。

1、WEB 服务器、应用程序服务器有何区别?IIS 、Apache 、Tomcat、Weblogic 、WebSphere都各属于哪种服务器,这些问题困惑了很久,今天终于梳理清楚了:Web 服务器的基本功能就是提供 Web 信息浏览服务。它只需支持 HTTP 协议、HTML文档格式及 URL。与客户端的网络浏览器配合。应用程序服务器(简称应用服务器 ),我们先看一下微软对它的定义: 我们把应用程序服务器定义为“作为服务器执行共享业务应用程序的底层的系统软件”。 就像文件服务器为很多用户提供文件一样,应用程序服务器让多个用户可以同时使用应用程序(通常是客户创建的应用程序)通俗的讲,Web 服务器传送

2、(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web 服务器专门处理 HTTP 请求(request) ,但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑 (business logic)。以 J2EE 为例,Web 服务器主要是处理静态页面处理和作为 Servlet 容器,解释和执行servlet/JSP,而 应用服务器是运行业务逻辑 的,主要是 EJB、 JNDI 和 JMX API 等 J2EE API 方面的,还包含事务处理、数据库连接等功能,所以在企业级应用中,应

3、用服务器提供的功能比 WEB 服务器强大的多。以这样的定义,IIS、Apache、Tomcat 都可以属于 Web 服务器,Weblogic、WebSphere都属于应用服务器。 Apache:在 Web 服务器中,Apache 是纯粹的 Web 服务器,经常与 Tomcat 配对使用。它对 HTML 页面具有强大的解释能力,但是不能解释嵌入页面内的服务器端脚本代码(JSP/Servlet。 Tomcat:早期的 Tomcat 是一个嵌入 Apache 内的 JSP/Servlet 解释引擎 Apache+Tomcat 就相当于 IIS+ASP。后来的 Tomcat 已不再嵌入 Apache

4、内,Tomcat 进程独立于 Apache 进程运行。 而且,Tomcat 已经是一个独立的 Servlet 和 JSP 容器,业务逻辑层代码和界面交互层代码可以分离了。因此,有人把 Tomcat 叫做轻量级应用服务器。 IIS:微软早期的 IIS,就是一个纯粹的 Web 服务器。后来,它嵌入了 ASP 引擎,可以解释 VBScript 和 JScript 服务器端代码了,这时,它就可以兼作应用服务器 。当然,它与J2EE 应用服务器根本无法相比,但是,从功能上说,从原理上说,它勉强可以称之为应用服务器。确切地说,它是兼有一点应用服务器功能的 Web 服务器。 综上:Apache 是纯粹的 w

5、eb 服务器,而 Tomcat 和 IIS 因为具有了解释执行服务器端代码的能力,可以称作为轻量级应用服务器或带有服务器功能的 Web 服务器。 Weblogic、WebSphere 因为能提供强大的 J2EE 功能,毫无疑问是绝对的应用服务器。对于处于中间位置的 Tomcat,它可以配合纯 Web 服务器 Apache 一起使用,也可以作为应用服务器的辅助与应用服务器一起部署:一、Tomcat 与应用服务器到目前为止,Tomcat 一直被认为是 Servlet/JSP API 的执行器,也就所谓的 Servlet 容器。然而,Tomcat 并不仅仅如此,它还提供了 JNDI 和 JMX AP

6、I 的实现机制。尽管如此,Tomcat 仍然还不能算是应用服务器,因为它不提供大多数 J2EE API 的支持。很有意思的是,目前许多的应用服务器通常把 Tomcat 作为它们 Servlet 和 JSP API 的容器。由于 Tomcat 允许开发者只需通过加入一行致谢,就可以把 Tomcat 嵌入到它们的应用中。遗憾的是,许多商业应用服务器并没有遵守此规则。对于开发者来说,如果是为了寻找利用 Servlet、JSP、 JNDI 和 JMX 技术来生成 Java Web 应用的话,选择 Tomcat 是一个优秀的解决方案;但是为了寻找支持其他的 J2EE API,那么寻找一个应用服务器或者把

7、 Tomcat 作为应用服务器的辅助,将是一个不错的解决方案;第三种方式是找到独立的 J2EE API 实现,然后把它们跟 Tomcat 结合起来使用。虽然整合会带来相关的问题,但是这种方式是最为有效的。 。二、Tomcat 与 Web 服务器Tomcat 是提供一个支持 Servlet 和 JSP 运行的容器。Servlet 和 JSP 能根据实时需要,产生动态网页内容。而对于 Web 服务器来说, Apache 仅仅支持静态网页,对于支持动态网页就会显得无能为力;Tomcat 则既能为动态网页服务,同时也能为静态网页提供支持。尽管它没有通常的 Web 服务器快、功能也不如 Web 服务器丰

8、富,但是 Tomcat 逐渐为支持静态内容不断扩充。大多数的 Web 服务器都是用底层语言编写如 C,利用了相应平台的特征,因此用纯 Java 编写的 Tomcat 执行速度不可能与它们相提并论。一般来说,大的站点都是将 Tomcat 与 Apache 的结合,Apache 负责接受所有来自客户端的 HTTP 请求,然后将 Servlets 和 JSP 的请求转发给 Tomcat 来处理。Tomcat 完成处理后,将响应传回给 Apache,最后 Apache 将响应返回给客户端。而且为了提高性能,可以一台 apache 连接多台 tomcat 实现负载平衡。 关于 WEB 服务器、应用程序服

9、务器的更详细区别可以参考下面这篇文章: 通俗的讲,Web 服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web 服务器专门处理 HTTP 请求(request) ,但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑 (business logic)。 下面让我们来细细道来:Web 服务器(Web Server) Web 服务器可以解析(handles)HTTP 协议。当 Web 服务器接收到一个 HTTP 请求(request),会返回一个 HTTP 响应 (res

10、ponse),例如送回一个 HTML 页面。为了处理一个请求(request),Web 服务器可以响应 (response)一个静态页面或图片,进行页面跳转 (redirect),或者把动态响应(dynamic response)的产生委托(delegate) 给一些其它的程序例如 CGI 脚本,JSP(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本,服务器端(server-side)JavaScript,或者一些其它的服务器端(server-side)技术。无论它们(译者注:脚本)的目的如何,这些服务器端(server-side

11、)的程序通常产生一个 HTML 的响应(response)来让浏览器可以浏览。要知道,Web 服务器的代理模型(delegation model)非常简单。当一个请求(request)被送到 Web 服务器里来时,它只单纯的把请求(request)传递给可以很好的处理请求 (request)的程序(译者注:服务器端脚本)。 Web 服务器仅仅提供一个可以执行服务器端(server-side)程序和返回(程序所产生的)响应(response)的环境,而不会超出职能范围。服务器端(server-side)程序通常具有事务处理(transaction processing),数据库连接(databa

12、se connectivity)和消息(messaging)等功能。虽然 Web 服务器不支持事务处理或数据库连接池,但它可以配置 (employ)各种策略(strategies)来实现容错性 (fault tolerance)和可扩展性 (scalability),例如负载平衡(load balancing),缓冲(caching) 。集群特征 (clusteringfeatures)经常被误认为仅仅是应用程序服务器专有的特征。应用程序服务器(The Application Server) 根据我们的定义,作为应用程序服务器,它通过各种协议,可以包括 HTTP,把商业逻辑暴露给(expose

13、)客户端应用程序。Web 服务器主要是处理向浏览器发送 HTML 以供浏览,而应用程序服务器提供访问商业逻辑的途径以供客户端应用程序使用。应用程序使用此商业逻辑就象你调用对象的一个方法 (或过程语言中的一个函数) 一样。应用程序服务器的客户端(包含有图形用户界面(GUI)的) 可能会运行在一台 PC、一个Web 服务器或者甚至是其它的应用程序服务器上。在应用程序服务器与其客户端之间来回穿梭(traveling)的信息不仅仅局限于简单的显示标记。相反,这种信息就是程序逻辑(program logic)。正是由于这种逻辑取得了(takes)数据和方法调用(calls)的形式而不是静态HTML,所以

14、客户端才可以随心所欲的使用这种被暴露的商业逻辑。在大多数情形下,应用程序服务器是通过组件 (component) 的应用程序接口(API)把商业逻辑暴露(expose)(给客户端应用程序)的,例如基于 J2EE(Java 2 Platform, Enterprise Edition)应用程序服务器的 EJB(Enterprise JavaBean)组件模型。此外,应用程序服务器可以管理自己的资源,例如看大门的工作(gate-keeping duties)包括安全(security),事务处理(transaction processing),资源池(resource pooling),和消息 (

15、messaging)。就象 Web 服务器一样,应用程序服务器配置了多种可扩展(scalability)和容错(fault tolerance)技术。一个例子 例如,设想一个在线商店(网站) 提供实时定价(real-time pricing)和有效性(availability)信息。这个站点(site)很可能会提供一个表单(form)让你来选择产品。当你提交查询 (query)后,网站会进行查找(lookup)并把结果内嵌在 HTML 页面中返回。网站可以有很多种方式来实现这种功能。我要介绍一个不使用应用程序服务器 的情景和一个使用应用程序服务器的情景。观察一下这两中情景的不同会有助于你了解应

16、用程序服务器的功能。情景 1:不带应用程序服务器的 Web 服务器 在此种情景下,一个 Web 服务器独立提供在线商店的功能。 Web 服务器获得你的请求(request),然后发送给服务器端(server- side)可以处理请求(request)的程序。此程序从数据库或文本文件(flat file,译者注 :flat file 是指没有特殊格式的非二进制的文件,如 properties 和XML 文件等)中查找定价信息。一旦找到,服务器端(server-side)程序把结果信息表示成(formulate)HTML 形式,最后 Web 服务器把会它发送到你的 Web 浏览器。简而言之,Web 服务器只是简单的通过响应(response)HTML 页面来处理 HTTP 请求(request)。情景 2:带应用程序服务器的 Web 服务器 情景 2 和情景 1 相同的是 Web 服务器还是把响应(response) 的产生委托(delegates) 给脚本(译者注:服务器端 (server-side)程序)。然而,你可以把查找定价的商业逻辑(busine

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号