从广义上来讲web服务器也属于应用服务器的一种。一般情况下讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)。下面我们看详细分析:
1.应用服务器
根据我们的定义,作为应用服务器,它通过各种协议,可以包括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)技术。
2.Web服务器
Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个HTML页面。为了处理一个请求(request),Web服务器可以响应(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态响应(dynamic response)的产生委托(delegate)给一些其它的程序例如CGI脚本,JSP(JavaServer Pages)脚本,servlets,ASP(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)。集群特征(clustering—features)经常被误认为仅仅是应用程序服务器专有的特征。
TOP云(zuntop.com)科技IDC服务有双线服务器租用、网通服务器租用、电信服务器租用。
当今,数据服务提供商良莠不齐,随着互联网准入门槛的降低,大小数据服务商如雨...
数据可视化原理 几个世纪以前,科学家没有用相机在显微镜下拍摄遥远星系或微小细...
城市大数据平台是城市治理架构中数据层的核心,连接着基础设施层与应用层,核心...
华为云CDN域名下线是指您的加速域名在触发域名下线机制时,CDN会禁用您的加速域...
本文介绍如何使用HPL测试E-HPC集群的浮点性能。 背景信息 HPL(The High-Perform...
健康检查是指容器运行过程中,根据需要,定时检查容器中应用健康状况。 云容器实...
操作场景 本文介绍如何通过容器服务控制台在集群中创建节点池,并提供了节点池相...
PUT上传和POST上传有什么区别? 使用OBS SDK上传超过5GB的大文件失败...
本文介绍 10 个适用于多个学科的 Python 数据可视化库,其中有名气很大的,也有...
【51CTO.com快译】随着4K、8K和其他高清格式的出现,视频的文件大小已成为面临的...