Web服务器跟应用服务器之间区别是什么?

“web服务器”负责响应来自用户端比如浏览器的请求,并向客户端返回静态资源的网页,比如图片,视频,网盘上分享的各种文件下载等。Web 服务器只处理静态的文件而不处理动态内容,仅接受和完成HTTP超文本传输协议的请求。目前流行的用来搭建Web服务可选软件有Apache,Nginx及微软的IIS等。

应用服务器为客户端提供对业务逻辑的访问。这种服务器根据客户端的请求,将数据转换为动态内容。比如上面打开个人微博的例子,需要应用服务器执行程序,从数据库中找到用户的最新微博信息再把信息转换成HTML网页显示在客户面前。通常满足一个用户的需求还需要数据库来支持。

 

简而言之,应用服务器处理业务逻辑,web服务器则主要是让客户可以通过浏览器进行访问,处理HTML文件,web服务器通常比应用服务器简单。

WEB服务器:Apache、IIS、Nginx(也是反向代理服务器)Web服务器通常只需支持HTTP协议,单纯处理页面用的

应用服务器:Tomcat、Weblogic、Jboss,WildFly(JBossAS 更名后的社区版)。应用服务器提供的是客户端可以调用的方法,需要支持EJB JNDI JMX 等J2EE API。 比如,Apache属于Web服务器,Weblogic属于应用服务器。 不过,现在大多数应用服务器也包含了Web服务器的功能

 

应用服务器的搭建很多时候依赖于应用程序的开发语言,各种编程语言生态下对应不同的软件,比如使用java语言开发的项目 通常选择tomcat 或JBoss等作为程序运行的应用服务器,而使用python语言开发web应用一般会选择 django等Python框架下的软件,来作为它的应用服务器。

很多游戏的后台服务器,客户端直接连接到中心网关:一种情况,由中心网关将其连接导向相应的逻辑服务器,网关完成该任务之后就不再参与客户端和服务器的对话;另一种情况,网关负责转发客户端的请求给相应的服务器,同时也负责将服务器回复的内容转发给客户端。

可以认为,这种情况下,客户端是和服务器直接连接并会话的,这也是目前大多数游戏服务器采用的方式,通信协议也是TCP直接连接(可以在TCP层面上定义简单的自己的协议层),这种模型简单清晰,数据流(data flow)也很单纯。

 

至于缓存,有,但是和web的缓存感觉很不一样,客户端的实时数据一般会保存在缓存里面,一般会是一些专用的缓存服务器,例如redis,memchache等。一些利用C,C++做的游戏服务器,可以自己申请内存来作为缓存,对于这种自己申请内存做缓存管理的话,首先机制很复杂,

其次,如果缓存的数据过多,那么风险越大,因为如果机器掉电或者宕机的话,数据就会丢失。如果不想数据丢失的话,那么就要一套更复杂的机制来保存这些在内存中的数据

当 Web 浏览器成为主要的客户端时,应用服务器和 Web 服务器之间的界限变得模糊。 大多数 Web 服务器都有支持动态内容生成的脚本语言(ASP、JSP、PHP等)插件。

 例如,如果我们将 .NET 插件添加到 IIS 环境中,或者把PHP插件添加到Apache中,我们就可以在 Web 服务器端为客户端提供动态内容了。由于技术的重叠,最流行的服务器通常是这两种类型的混合。从而可以确保最佳系统速度和用户体验。TG:li9047

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值