新闻资讯

新闻资讯

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

作者:小编2022-08-25 00:00:00

  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/P,应用服务器运行业务逻辑主要是EJB、 JNDI和JMX API等J2EE API应用服务器在企业级应用中提供的功能比、数据库连接等功能WEB服务器要强大得多。

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

  Apache:在Web服务器中,Apache是纯粹的Web经常和服务器Tomcat配对使用HTML页面具有很强的解释能力,但无法解释嵌入页面的服务器端脚本代码(P/Servlet)。

  Tomcat:早期的Tomcat是一个嵌入Apache内的P/Servlet解释引擎Apache Tomcat就相当于IIS ASP。后来的Tomcat已不再嵌入Apache内,Tomcat进程独立于Apache操作过程。Tomcat已经是独立了Servlet和P可分离容器、业务逻辑层代码和界面交互层代码。有人把它分开Tomcat称为轻量级应用服务器。

  IIS:微软早期的IIS,是纯粹的Web嵌入服务器的服务器。ASP引擎,可以解释VBScript和cript此时,服务器端代码可以作为应用服务器使用。J2EE应用服务器根本无法比拟,但在功能和原则上几乎无法称之为应用服务器。确切地说,它具有应用服务器的功能Web服务器。

  也可作为应用服务器的辅助部署:也可以作为应用服务器的辅助与应用服务器一起部署:

  一、Tomcat应用服务器

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

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

  但这种方法是最有效的。但这种方法是最有效的。

  二、Tomcat与Web服务器

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

  一般来说,大网站都是Tomcat与Apache的结合,Apache负责接受来自客户端的所有客户端HTTP请求,然后将Servlets和P转发请求Tomcat来处理。Tomcat处理完成后,将响应传回Apache,最后Apache将响应返回客户端。

  而且为了提高性能,可以一台apache连接多台tomcat负载平衡。

  关于WEB请参考以下文章:

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

  让我们详细谈谈:

  Web服务器(Web Server)

  Web可分析服务器(handles)HTTP协议。当Web接收服务器HTTP请求(request),会返回一个HTTP响应 (response),例如,送回一个HTML页面。处理请求。(request),Web服务器可以响应(response)静态页面或图片跳转页面(redirect),或动态响应(dynamic response)的产生委托(delegate)给其他程序,比如CGI脚本,P(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本,服务器端(server-side)JavaScript,或者其他服务器端(server-side)技术。这些服务器的目的是什么?(server-side)通常生成程序HTML的响应(response)浏览浏览器。

  数据库连接(database connectivity)和消息(messaging)等功能。数据库连接(database connectivity)和消息(messaging)等功能。

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

  应用程序服务器(The Application Server)

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

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

  在大多数情况下,应用程序服务器通过组件 (component) 应用程序接口(API)暴露业务逻辑(expose)(基于客户端应用程序)J2EE(Java 2 Platform,Enterprise Edition)应用程序服务器EJB(Enterprise JavaBean)组件模型。此外,应用程序服务器还可以管理自己的资源,比如看门的工作(gate-keeping duties)包括安全(security),事务处理(transaction processing),资源池(resource pooling),和消息(messaging)。就象Web应用程序服务器与服务器一样,配备了多种可扩展性(scalability)和容错(fault tolerance)技术。

  一个例子

  例如,想象一家在线商店(网站)提供实时定价(real-time pricing)和有效性(availability)信息。这个网站(site)很有可能提供表格(form)让你选择产品。当您提交查询 (query)之后,网站会搜索(lookup)并嵌入结果HTML返回页面。实现这个功能的方法有很多。我想介绍一个不使用应用程序服务器的人 使用应用程序服务器的场景和场景。观察这两种情况的差异将帮助您理解应用程序服务器的功能。

  场景1:无应用程序服务器Web服务器

  最后Web服务器将它发送给您Web浏览器。最后Web服务器将它发送给您Web浏览器。

  简而言之,Web服务器只是通过响应(response)HTML页面来处理HTTP请求(request)。

  应用程序服务器序服务器Web服务器

  场景2与场景1相同Web服务器仍然响应(response)的产生委托(delegates)注:服务器端 (server-side)程序)。但是,您可以找到定价的业务逻辑(business logic)把它放在应用程序服务器上。由于这种变化,脚本只是简单地调用应用程序服务器的搜索服务(lookup service),而不是已经知道如何搜索数据,然后说出来(formulate)一个响应(response)。此时,当生成脚本程序时,HTML响应(response)此时可以使用服务返回结果。

  在这种情况下,应用程序服务器提供(serves)查询产品定价信息的商业逻辑。(服务器)此功能(functionality)相反,客户端和应用程序服务器只是来回传输数据,而有指出显示和客户端如何使用此信息的细节。当客户端调用应用程序服务器时,搜索服务(lookup service)这个服务只是简单的搜索,并将结果返回给客户端。

  从响应中产生(response-generating)HTML的代码中分离出来,在应用程序之中该定价(查找)逻辑的可重用性更强了。其他的客户端,例如收款机,也可以调用同样的服务(service)作为店员结账给客户。相反,场景1中的定价搜索服务不能重用的因为信息内嵌在 HTML页中了。

  总而言之,在情景2的模型中,在Web服务器通过回应HTML页面来处理HTTP请求(request),而应用程序服务器则是通过处理定价和有效性(availability)请求(request)来提供应用程序逻辑的。

  警告(Caveats)

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

  另外,现在大多数应用程序服务器也包含了Web服务器,这就意味着可以把Web服务器当作是应用程序服务器的一个子集(subset)。虽然应用程序服务器包含了Web服务器的功能,但是开发者很少把应用程序服务器部署(deploy)成这种功能(capacity)(译者注:这种功能是指既有应用程序服务器的功能又有Web服务器的功能)。相反,如果需要,他们通常会把Web服务器独立配置,和应用程序服务器一前一后。这种功能的分离有助于提高性能(简单的Web请求(request)就不会影响应用程序服务器了),分开配置(专门的Web服务器,集群(clustering)等等),而且给最佳产品的选取留有余地。

服务热线

服务热线

134-6660-8836

微信咨询
返回顶部

联系我们

服务器托管

  • 邮箱:s58@linktom.com
  • 手机:134-6660-8836
  • 电话:134-6660-8836
  • 地址:北京市海淀区苏州街18号长远天地大厦B1座6层

需求留言

微信二维码

微信号:134-6660-8836

全国服务器托管 Powered by EyouCms 

公安备案号:11010802036337 备案号:京ICP备09060345号-12
全国咨询热线: 134-6660-8836