Web服务器和应用服务器有啥区别?

转自:微点阅读  https://www.weidianyuedu.com

Web服务器和应用服务器简介

通俗的讲,Web服务器传送页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(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)脚本,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)技术。

分析Web服务器的不同之处

一个例子

例如,设想一个在线商店(网站)提供实时定价(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)等等),而且给最佳产品的选取留有余地。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
小白搭建服务器教程全文共8页,当前为第1页。小白搭建服务器教程全文共8页,当前为第1页。小白搭建服务器教程 小白搭建服务器教程全文共8页,当前为第1页。 小白搭建服务器教程全文共8页,当前为第1页。 如下。 在阿里云上搭建使用个人博客主要分为以下几个步骤: 1、购买阿里云ECS主机 2、购买域名 3、申请备案 4、环境配置 5、安装wordpress 6、域名解析 声明一下,本人对服务器端的知识不是很熟悉,但一心想做个自己的个人网站装一下哔,特此记录一下完整的配置过程,也算是给其他小白们的一剂福利吧。 开发环境: 物理机版本:Win 7 旗舰版64位 xshell版本:Xshell 5 Build 0806 xftp版本:Xftp 5 Build 0780 wordpress版本:wordpress-4.3.1-zh_CN phpMyAdmin版本:phpMyAdmin-4.5.1-all-languages 备注:以上所有的安装包工具在文章的末尾都附有打包下载,都是从官方下载的,请绝对放心使用,拿走不谢~ 一、购买阿里云ECS服务器: 登录阿里云官方网站,在"产品与服务"中选择云服务器ECS,选择立即购买。运气好的话还能赶上阿里的一些优惠活动。比如说,我买的就是学生价: 先凑合着用呗,反正目前又没有高并发的访问,所以也没必要搞辣么高的配置,毕竟价格昂贵,我等屌丝学生承担不起呀。 配置选择: 小白搭建服务器教程全文共8页,当前为第2页。小白搭建服务器教程全文共8页,当前为第2页。 根据自己的需要选择合适的配置,如果仅仅是做wordpress个人博客的话,那么以下配置可以参考: 小白搭建服务器教程全文共8页,当前为第2页。 小白搭建服务器教程全文共8页,当前为第2页。 当然大家也可以买一年的,这样可以优惠2个月,价格在1K左右。 二、购买域名: 在阿里云官网右上角点击"万网",然后可以进行域名的购买,需要注意的是首次购买域名是有优惠的,所以请选择合适的购买时长,否则不断的续费可能会造成经济损失,购买完域名之后建议去实名认证。 三、域名备案: 需要提醒大家的是,如果你买了阿里云的服务器,并且想要通过域名访问,那域名是必须要备案的,总结一句:必须先将域名备案,才能通过域名访问阿里云的服务器。 一提到备案,可能你会觉得备案这个事情很麻烦,各种流程啊,手续啊。其实没这么麻烦,因为阿里云已经提供了一条龙服务呵呵,我特么这样搞传销,阿里云也不会给我啥优惠啥,通过阿里云的代备案系统,一些都会变得容易很多呢,不管是个人网站的备案,还是企业网站的备案,都只是时间上的问题,一般备案审核需要二十天左右。废话不说,下面开始上图。 1申请备案服务号:非常重要 既然打算要用阿里云的代备案系统,这件事是必不可少的。 进入到阿里云的管理后台,选择"备案服务号申请": 按照上图中的操作提示,申请一个域名备案的服务号,记下这个服务号,等会儿要用到。如果你没有购买阿里云ECS,自然就不能申请服务号了。 2登录备案系统填域名申请的信息: 上图中,进入阿里云的官网,点击上方的"备案"通道,进入到阿里云的代备案系统。  在这个链接里重新注册一个备案的账号这个账号并非阿里云的账号。注册完了之后,登录进去,申请备案。 这个地方我当时忘了截图了,所以看不到具体的步骤,不过也非常简单,按照要求填就行了,上面要求你填一个备案服务号,这个服务号就是在第1步中拿到的。 信息填完之后,阿里云那边会进行初步审核,我当时不超过几个小时就收到审核通过的邮件了。邮件的内容是: 四、软件的安装: 小白搭建服务器教程全文共8页,当前为第3页。小白搭建服务器教程全文共8页,当前为第3页。 我们购置阿里云的ECS是纯净的Linux系统,换句话说里面什么都没有安装,所以在安装博客系统之前我们要配置web环境,不要怕,这一步也是非常的简单。 小白搭建服务器教程全文共8页,当前为第3页。 小白搭建服务器教程全文共8页,当前为第3页。 1、下载安装包: 我们登录阿里云之后点击云市场,找到"Linux一键安装web环境"的安装包: 继续: 继续: 上图显示,这个产品竟然要收费:2快钱。好吧,我认了。 温馨提示:购买之后,得到的其实是个压缩包,楼主是好人,已经把这个压缩包资源附在本文的末尾了,拿走不谢~ 购买后,下载地址如下: 解压之后的到的文件如下: 上图中,打开文件"Linux一键安装web环境全攻略.pdf","安装准备xshell和xftp"的相关内容并完成其安装和配置。请注意,一定要按照他的教程继续安装下去,具体安装步骤这里也写一下,见下文。 2、安装准备xshell和xftp: 1下载xshell并安装: 下载之后开始安装: 2下载安装Xftp: 下载完成之后,开始安装: 3、Xshell的配置:设置

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值