入门:web服务器和利用服务器的辨别[服务器安全]
本文“入门: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)常常被误认为仅仅是利用程序服务器专有的特点.
利用程序服务器(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服务器得到你的恳求(request),然后发送给服务器端(server- side)可以处理恳求(request)的程序.此程序从数据库或文本文件(flat file,译者注:flat file是指没有特别格局的非二进制的文件,如properties和xml文件等)中查找定价信息.一旦找到,服务器端(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服务器和利用服务器的辨别[服务器安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |