Web服务器、应用程序服务器、HTTP服务器区别

来源:Leah 时间:2022-07-26 09:09:18阅读:0

IIS、Apache、Tomcat、Weblogic、WebSphere这些问题困惑了很久,今天终于梳理清楚了:

Web提供服务器的基本功能Web信息浏览服务。它只需要支持HTTP协议、HTML文档格式及URL。配合客户端的网络浏览器Web支持服务器的主要协议是HTTP,所以通常情况下HTTP服务器和WEB服务器相等(是否有支持去除)HTTP外部协议web服务器,作者没有验证),说的是一回事。

Web服务器、应用程序服务器、HTTP服务器区别

让我们来看看微软对应用程序服务器的定义:"我们将应用程序服务器定义为作为服务器共享业务应用程序的底层系统软件。就像文件服务器为许多用户提供文件一样,应用程序服务器允许多用户同时使用应用程序(通常由客户创建)"

通俗的讲,Web服务器传送(serves)页面允许浏览器浏览,但应用程序服务器提供客户端应用程序(call)的方法(methods)。确切地说:Web专门处理服务器HTTP请求(request),但应用程序服务器是通过许多协议为应用程序提供的(serves)商业逻辑(businesslogic)。

以JavaEE为例,Web服务器主要处理静态页面处理和行动Servlet容器,解释和执行servlet/JSP,而应用服务器主要运行业务逻辑EJB、JNDI和JMXAPI等J2EEAPI还包括事务处理、数据库连接等功能,因此在企业级应用中,应用服务器提供的功能比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服务器。

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

一、Tomcat应用服务器

到目前为止,Tomcat一直被认为是Servlet/JSPAPI所谓执行器Servlet容器。Tomcat不仅如此,它还提供JNDI和JMXAPI实现机制。尽管如此,Tomcat它仍然不能被视为应用服务器,因为它不提供大多数J2EEAPI的支持。

有趣的是,目前许多应用服务器通常使用Tomcat作为它们Servlet和JSPAPI容器Tomcat允许开发者加入一行感谢Tomcat嵌入到它们的应用中。遗憾的是,许多商业应用服务器并没有遵守此规则。

对于开发者来说,如果是为了寻找利用Servlet、JSP、JNDI和JMX技术来生成JavaWeb如果使用,选择Tomcat是一个优秀的解决方案;但是为了寻找支持其他的J2EEAPI,然后找一个应用服务器或把手Tomcat作为应用服务器的辅助,将是一个很好的解决方案;第三种方法是找到独立性J2EEAPI然后跟着它们Tomcat结合使用。虽然整合会带来相关问题,但这种方法是最有效的。

二、Tomcat与Web服务器

Tomcat提供支持Servlet和JSP操作容器。Servlet和JSP动态网页内容可以根据实时需要生成Web服务器,Apache只支持静态网页,就会显得无能为力支持动态网页;Tomcat它不仅可以为动态网页服务,还可以为静态网页提供支持。虽然不正常Web服务器快,功能差Web但是Tomcat逐步扩展支持静态内容。大多数Web服务器都是用底层语言写的C,利用相应平台的特点,使用纯度Java编写的Tomcat与它们相比,执行速度是不可能的。

一般来说,大站点都是将军Tomcat与Apache的结合,Apache负责接受所有客户端HTTP请求,然后将Servlets和JSP转发请求Tomcat来处理。Tomcat处理完成后,将响应传回Apache,最后Apache将响应返回客户端。而且为了提高性能,可以一个apache连接多台tomcat负载平衡。

让我们来详细说说:

Web服务器(WebServer)

Web可分析服务器(handles)HTTP协议。当Web接收一个服务器HTTP请求(request),会返回一个HTTP响应(response),例如,送回一个HTML页面。处理请求(request),Web服务器可以响应(response)静态页面或图片跳转页面(redirect),或动态响应(dynamicresponse)的产生委托(delegate)给一些其他程序,比如CGI脚本,JSP(JavaServerPages)脚本,servlets,ASP(ActiveServerPages)脚本,服务器端(server-side)JavaScript,或者一些其它的服务器端(server-side)技术。无论其目的如何(译者注:脚本),这些服务器端(server-side)通常生成一个程序HTML的响应(response)让浏览器浏览。

要知道,Web代理模型的服务器(delegationmodel)很简单。当请求(request)被送到Web当服务器进来时,它只是要求(request)可以很好地处理请求(request)程序(译者注:服务器端脚本)。Web服务器只提供一个可执行的服务器端(server-side)程序和返回(程序产生的)响应(response)不超出功能范围的环境。服务器端(server-side)程序通常有事务处理(transactionprocessing),数据库连接(databaseconnectivity)和消息(messaging)等功能。

虽然Web服务器不支持事务处理或数据库连接池,但它可以配置(employ)各种策略(strategies)实现容错性(faulttolerance)和可扩展性(scalability),例如负载平衡(loadbalancing),缓冲(caching)。集群特征(clustering—features)它通常被误认为只是应用程序服务器的独特特征。

应用程序服务器(TheApplicationServer)

根据我们的定义,作为一个应用程序服务器,它可以包括在各种协议中HTTP,暴露商业逻辑(expose)客户端应用程序。Web服务器主要处理向浏览器发送HTML用于浏览,应用程序服务器为客户端应用程序提供访问业务逻辑的方式。应用程序使用这种业务逻辑就像一种方法(或过程语言中的函数)。

客户端(包括图形用户界面)应用程序服务器(GUI)一台可能会运行PC、一个Web服务器或其它应用程序服务器。在应用程序服务器及其客户端之间来回穿梭(traveling)信息不仅限于简单的显示标记。相反,这种信息是程序逻辑(programlogic)。正是因为这种逻辑(takes)调用数据和方法(calls)而不是静态HTML,因此,客户端可以随意使用这种暴露的商业逻辑。

在大多数情况下,应用程序服务器通过组件(component)应用程序接口(API)暴露业务逻辑(expose)(给客户端应用程序),如基础J2EE(Java2Platform,EnterpriseEdition)应用程序服务器EJB(EnterpriseJavaBean)组件模型。另外,应用程序服务器可以管理自己的资源,比如看门的工作(gate-keepingduties)包括安全(security),事务处理(transactionprocessing),资源池(resourcepooling),和消息(messaging)。就象Web与服务器一样,应用程序服务器配备了多种可扩展性(scalability)和容错(faulttolerance)技术。

警告(Caveats)

现在,XMLWebServices应用程序服务器和Web混淆了服务器的界线。通过传输XML有效载荷(payload)给服务器,Web现在服务器可以处理数据和响应(response)能力和以前的应用服务器一样多。

此外,现在大多数应用程序服务器都包括在内Web服务器,这意味着可以Web作为应用程序服务器的子集,服务器(subset)。尽管包含了应用程序服务器Web但开发者很少部署应用程序服务器的功能(deploy)成这种功能(capacity)(译者注:此功能是指既有应用服务器的功能Web服务器的功能)。相反,如果需要,他们通常会把它拿走Web独立配置服务器和应用程序服务器。这种功能的分离有助于提高性能(简单)Web请求(request)它不会影响应用程序服务器),单独配置(特殊的Web服务器,集群(clustering)等等),并为最佳产品的选择留出空间。

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:shawn.lee@vecloud.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

本站原创内容未经允许不得转载,或转载时需注明出处:https://news.kd010.com/fwqjs/11982.html

TAG标签:web服务器

相关推荐

返回顶部