大家都知道用途不一样,用到的服务器也不一样。那么Web服务器和APP服务器有什么区别?互联先锋为大家详细分析。
我们先看下web服务器和app服务器的定义
Web服务器传送页面使浏览器可以浏览,Web服务器专门处理HTTP请求。
APP服务器提供的是客户端应用程序可以调用的方法,是通过很多协议来为应用程序提供商业逻辑。
Web服务器
Web服务器可以解析HTTP协议。当Web服务器接收到一个HTTP请求,会返回一个HTTP响应,例如送回一个HTML页面。为了处理一个请求,Web服务器可以响应一个静态页面或图片,进行页面跳转,或者把动态响应的产生委托给一些其它的程序例如CGI脚本,JSP脚本,servlets,ASP脚本,服务器端JavaScript,或者一些其它的服务器端技术。无论它们(译者注:脚本)的目的如何,这些服务器端的程序通常产生一个HTML的响应来让浏览器可以浏览。
要知道,Web服务器的代理模型非常简单。当一个请求被送到Web服务器里来时,它只单纯的把请求传递给可以很好的处理请求的程序(译者注:服务器端脚本)。Web服务器仅仅提供一个可以执行服务器端程序和返回(程序所产生的)响应的环境,而不会超出职能范围。服务器端程序通常具有事务处理,数据库连接和消息等功能。
虽然Web服务器不支持事务处理或数据库连接池,但它可以配置各种策略来实现容错性和可扩展性,例如负载平衡,缓冲。集群特征经常被误认为仅仅是应用程序服务器专有的特征。
APP服务器
根据我们的定义,作为应用程序服务器,它通过各种协议,可以包括HTTP,把商业逻辑暴露给客户端应用程序。Web服务器主要是处理向浏览器发送HTML以供浏览,而应用程序服务器提供访问商业逻辑的途径以供客户端应用程序使用。应用程序使用此商业逻辑就象你调用对象的一个方法(或过程语言中的一个函数)一样。
应用程序服务器的客户端(包含有图形用户界面(GUI)的)可能会运行在一台PC、一个Web服务器或者甚至是其它的应用程序服务器上。在应用程序服务器与其客户端之间来回穿梭的信息不仅仅局限于简单的显示标记。相反,这种信息就是程序逻辑。 正是由于这种逻辑取得了数据和方法调用的形式而不是静态HTML,所以客户端才可以随心所欲的使用这种被暴露的商业逻辑。
在大多数情形下,应用程序服务器是通过组件的应用程序接口(API)把商业逻辑暴露(给客户端应用程序)的,例如基于J2EE应用程序服务器的EJB组件模型。此外,应用程序服务器可以管理自己的资源,例如看大门的工作包括安全,事务处理,资源池, 和消息。就象Web服务器一样,应用程序服务器配置了多种可扩展和容错技术。