`

应用服务器与WEB SERVER的区别

 
阅读更多

通俗讲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脚本JSP(JavaServer Pages)脚本servletsASP(Active Server Pages)脚本服务器端(server-side)JavaScript或者些其服务器端(server-side)技术无论们(译者注:脚本)目何些服务器端(server-side)程序通常产生HTML响应(response)来让浏览器浏览

 

  要知道Web服务器代理模型(delegation model)非常简单当请求(request)被送Web服务器里来时只单纯把请求(request)传递给好处理请求(request)程序(译者注:服务器端脚本)Web服务器仅仅提供执行服务器端(server-side)程序和返回(程序所产生)响应(response)环境而会超出职能范围服务器端(server-side)程序通常具有事务处理(transaction processing)数据库连接(database connectivity)和消息(messaging)等功能

 

  Web服务器支持事务处理或数据库连接池配置(employ)各种策略(strategies)来实现容错性(fault tolerance)和扩展性(scalability)例负载平衡(load balancing)缓冲(caching)集群特征(clusteringfeatures)经常被误认仅仅应用程序服务器专有特征

 

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

  根据我们定义作应用程序服务器通过各种协议包括HTTP把商业逻辑暴露给(expose)客户端应用程序Web服务器主要处理向浏览器发送HTML供浏览而应用程序服务器提供访问商业逻辑途径供客户端应用程序使用应用程序使用此商业逻辑象调用对象方法(或过程语言函数)

 

  应用程序服务器客户端(包含有图形用户界面(GUI))能会运行台PCWeb服务器或者甚至其应用程序服务器上应用程序服务器与其客户端之间来回穿梭(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服务器获得请求(request)发送给服务器端(server-side)处理请求(request)程序此程序从数据库或文本文件(flat file译者注:flat file指没有特殊格式非二进制文件propertiesXML文件等)查找定价信息旦找服务器端(server-side)程序把结信息表示成(formulate)HTML形式Web服务器把会发送Web浏览器

 

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

 

  情景2:带应用程序服务器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)等等)而且给佳产品选取留有余地

分享到:
评论

相关推荐

    Web服务器与Web应用服务器的区别

    Web服务器与Web应用服务器的区别,详细讲解WebServer与WebApplicationServer区别

    android webserver简单网页服务器

    Android WebServer可以用于本地应用测试、数据共享、设备间通信或者作为教育示例。例如,开发者可以利用它快速预览本地应用的网页内容,或者在没有公网IP的情况下,通过内网穿透技术让外部设备访问Android设备上的...

    迷你ASP服务器(Baby Web Server) V2.6 绿色版

    - **下载与启动**:首先,你需要下载迷你ASP服务器(Baby Web Server) V2.6的绿色版压缩包,解压后找到可执行文件,双击启动。 - **配置**:虽然小巧,但Baby Web Server依然提供了一定的配置选项。你可以设置监听...

    使用matlab web server直接进行web开发

    为了运行MATLAB Web Server提供的示例和你的应用程序,你需要在Web服务器上创建两个虚拟目录,分别是 `/cgi-bin` 和 `/icons`,并将它们映射到MATLAB Web Server的主目录 `/toolbox/webserver/wsdemos`。...

    TinyWebServer-raw_version_RAW_轻量级web服务器_TinyWebServer_

    【TinyWebServer-raw_version_RAW_轻量级web服务器_TinyWebServer】是一个专为网络新手设计的项目,旨在帮助用户理解并实现一个基础的、轻量级的Web服务器。这个项目采用Linux作为开发环境,因此它基于Unix-like系统...

    绿色版.NET服务器工具WebDev.WebServer

    【标题】"绿色版.NET服务器工具WebDev.WebServer"指的是一个便携式的.NET开发环境工具,主要用于在本地环境中快速搭建和测试ASP.NET应用程序。这款工具因其无需安装即可使用的特性被称为"绿色版",用户只需解压文件...

    C-Web-Server源码 经典的C语言web服务器

    在互联网技术日新月异的今天,Web服务器作为互联网应用的核心组件,其工作原理和技术细节一直备受关注。而C-Web-Server,这款用C语言编写的原生Web服务器,为我们提供了一个极好的学习平台,让我们能够深入理解Web...

    Web服务器和应用程序服务器区别详解

    Web服务器和应用程序服务器是两种不同的服务类型,它们在互联网应用中扮演着各自的关键角色。本文将详细解释这两者的概念、功能以及它们之间的差异。 首先,Web服务器主要负责处理HTTP协议,它的核心任务是接收来自...

    WebDev.WebServer当web服务器

    在小型项目开发或测试环境中,我们通常会使用轻量级的Web服务器来快速搭建环境,而“WebDev.WebServer.exe”就是这样一种工具,主要用于开发者在本地进行Web应用的调试和预览。 “WebDev.WebServer.exe”是微软...

    Tiny-WebServer-master一个微web服务器, 纯c语言实现

    【Tiny-WebServer-master——纯C语言实现的微型Web服务器详解】 在当今互联网技术日新月异的时代,Web服务器作为互联网应用的基础,扮演着至关重要的角色。本文将深入探讨一个名为"Tiny-WebServer-master"的微型Web...

    LabVIEW Web Server 设计

    LabVIEW Web Server 设计是一种利用LabVIEW开发的强大功能,使得用户可以通过Web浏览器远程监控和控制运行在服务器端的LabVIEW应用程序。这一特性使得用户无需在服务器端直接操作,即可实现远程的数据采集、分析和...

    什么是webServer和为什么要用webServer

    简单来说,Web Server 就是一个应用程序,它可以接收和响应客户端的请求,提供静态或动态内容给客户端。 为什么要用 Web Server?在传统的桌面应用程序中,应用程序安装和配置的问题,客户端和服务器之间的通信问题...

    asp迷你服务器WebServer

    ASP迷你服务器WebServer是一款专为ASP(Active Server Pages)应用程序设计的轻量级服务器软件,它允许开发者在本地计算机上运行和测试ASP网页,而无需安装完整的IIS(Internet Information Services)或其他大型Web...

    vc6.rar_VC webserver_VC webserver_VC6_vc++ webserver_webserver

    "VC Webserver" 是这个项目的名称,它表明这是一个基于C++编程语言,利用微软的Visual Studio 6.0集成开发环境构建的Web服务器软件。"VC++ Webserver" 进一步确认了编程语言是C++,而"Webserver"则指明了其功能,即...

    搭载webserver服务器文件

    "搭载webserver服务器文件"这个标题暗示我们将讨论如何设置和配置一个Web服务器,以便在本地或网络上运行网站。 描述中的“本机webserver服务器”意味着我们将重点放在在个人计算机上建立一个本地Web服务器。这对于...

    c#WebServer简单示例

    - `CSharp_WebServer`可能是一个包含Web服务器核心代码的项目或类库,它展示了如何将上述概念整合到实际应用中。 - `C#调用WebServer示例(文档与图片)`可能包含了一个示例,展示了如何通过Web服务器发送文本、图片...

    WebServer vb web 服务器

    【WebServer vb web 服务器】 在信息技术领域,Web服务器是一种软件程序,它的主要任务是接收来自互联网用户的HTTP请求,并返回相应的HTML页面或者其他Web资源。在这个特定的案例中,"WebServer vb web 服务器"指的...

    webserver 服务器的搭建

    gcc -o webserver 5.8-webserver.c -lsocket -lnsl ``` 3. **启动服务器**:在命令行中运行生成的可执行文件,例如: ``` ./webserver ``` 服务器会在默认的80端口开始监听。 4. **测试服务器**:在另一终端...

    Oracle WebServer完全教程

    Oracle WebServer是Oracle公司提供的一个全面的Web应用服务器解决方案,它集成了强大的数据库管理、应用服务器功能以及Web服务支持,为企业的信息化建设提供了坚实的后盾。 本书首先会引导读者了解Oracle WebServer...

    基于Stm32的嵌入式WebServer例程

    总的来说,基于STM32的嵌入式WebServer例程是一个极好的学习资源,可以帮助开发者深入理解嵌入式网络编程,特别是对于那些想要将STM32设备与互联网相连的初学者来说。通过实践这个项目,你可以提升在物联网领域的...

Global site tag (gtag.js) - Google Analytics