如何正确理解 WEB 服务器、应用程序服务器、HTTP 服务器
WEB 服 务 器 、 应 用 程 序 服 务 器 、 HTTP 服 务 器 有 何 区 别 ?
IIS、Apache、Tomcat、Weblogic、WebSphere 都各属于哪种服务器,这些问题困惑了很久,
今天终于梳理清楚了:
Web 服务器的基本功能就是提供 Web 信息浏览服务。它只需支持 HTTP 协议、HTML 文档格
式及 URL。与客户端的网络浏览器配合。因为 Web 服务器主要支持的协议就是 HTTP,所以
通常情况下 HTTP 服务器和 WEB 服务器是相等的(有没有支持除 HTTP 之外的协议的 web 服
务器,作者没有考证过),说的是一回事。
应用程序服务器(简称应用服务器),我们先看一下微软对它的定义:"我们把应用程序服务
器定义为“作为服务器执行共享业务应用程序的底层的系统软件”。•就像文件服务器为很多
用户提供文件一样,应用程序服务器让多个用户可以同时使用应用程序(通常是客户创建
的应用程序)"
通俗的讲,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 都属
于应用服务器。
Apache:在 Web 服务器中,Apache 是纯粹的 Web 服务器,经常与 Tomcat 配对使用。它对
HTML 页面具有强大的解释能力,但是不能解释嵌入页面内的服务器端脚本代码( JSP/
Servlet)。
Tomcat:早期的 Tomcat 是一个嵌入 Apache 内的 JSP/Servlet 解释引擎 Apache+Tomcat 就相当
于 IIS+ASP。后来的 Tomcat 已不再嵌入 Apache 内,Tomcat 进程独立于 Apache 进程运行。•
而且,Tomcat 已经是一个独立的 Servlet 和 JSP 容器,业务逻辑层代码和界面交互层代码可
以分离了。因此,有人把 Tomcat 叫做轻量级应用服务器。
IIS:微软早期的 IIS,就是一个纯粹的 Web 服务器。后来,它嵌入了 ASP 引擎,可以解释
VBScript 和 JScript 服务器端代码了,这时,它就可以兼作应用服务器。当然,它与 J2EE 应
用服务器根本无法相比,但是,从功能上说,从原理上说,它勉强可以称之为应用服务器
确切地说,它是兼有一点应用服务器功能的 Web 服务器。
评论0
最新资源