关于B/S和C/S架构的问题

很多应用程序,即可以用网页访问,即B/S架构,而又有客户端版本C/S,请问这个是怎么实现的。。。。
比如我们经常使用的QQ这个一直困惑着喔,一直没想明白。。。。

首先搞清楚B/S架构和C/S架构,其中的B指的是browser,浏览器端;C指的是client,客户端;S指的是sever,服务器端。

client是运行在客户端机器上的应用程序,它跟别的应用程序无异,需要特别编写,然后下载部署或者说是安装在客户端机器上,比如QQ和一些网络游戏的客户端程序。
browser是所有能解析http等协议的所谓浏览器,基于B/S架构的应用,也可以说成是Web应用,并不依赖于特殊的客户端程序,而是将应用通过http协议的形式进行包装,通过浏览器进行解析,在浏览器页面中完成应用,比如一些网页上的网络游戏,一些跨地区连锁公司的各种资源管理系统等等。

B/S架构的一个优点是,当应用需要更新时,只需要在服务器端即server端进行软件的更新,而不需要客户端再重新安装一次,关于这个重新安装的代价或者B/S架构帮助减轻重新安装代价的意义,请查看关于软件工程中“维护”的相关介绍。
B/S的另一个用处是构建分布式的计算环境,比如对于天气的预报计算系统,就可以采用分布式的多台机器分布式计算,而这个分布式计算环境,就需要用到B/S的支持。
另外,B/S架构主要计算量放在服务器端,服务器压力很大。

C/S架构的一个优点是,可将大量计算任务放在客户端,这样服务器的开销相对较小,而且这样在用户端体验到的交互速度也更快。

你看到很多信息管理系统,比如某个学校的图书馆管理系统或者教务系统,或者银行的网上服务系统等等,都可以在浏览器里直接操作交互,而不需要再专门下载客户端程序。但是大的游戏比如dota,fifaoline,剑灵等这些大型网络游戏,都需要下载客户端程序,而且每次游戏有更新,都需要重新下载客户端。

因为研究课题的原因,我经常会向几个系统架构师和系统分析师请教一些软件工程领域系统和架构方面的问题,上面这些也是基于他们的解读而来的我的一些理解,纯手打。希望你已经明白了一些。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-14
C/S(Client server,客户端/服务器)
  C/S(Client server,客户端/服务器)技术从上世纪90年代初出现至今已经相当成熟,并得到了非常广泛的应用,其结构经历了二层C/S、三层C/S的更迭。
B/S(Browser server,浏览器/服务器)
  B/S(Browser server,浏览器/服务器)技术则是伴随着Internet的普及而来的。有必要说明的是,B/S最早并不叫“B/S”,此类应用国外通常叫Web应用,是国内一些公司“创造”了“B/S”这个词。   应该说,B/S和C/S各有千秋,他们都是当前非常重要的计算架构。在适用Internet、维护工作量等方面,B/S比C/S要强得多;但在运行速度、数据安全、人机交互等方面,B/S远不如C/S。综合起来可以发现,凡是C/S的强项,便是B/S的弱项,反之亦然。因此,问题也就因此而产生了,我们的ERP产品到底该用B/S还是C/S架构呢?一场关于C/S与B/S的口水战也由此在ERP业界拉开了序幕。在互联网泡沫盛行的2000年至2002年间,这场口水战达到了顶峰。但直到现在,人们也没有辩出谁是谁非。   事实上,从上面的分析可以看出,这场口水战不可能有胜负出现,因为B/S与C/S具有不同的优势与特点,他们无法相互取代。例如,对于以浏览为主、录入简单的应用程序,B/S技术有很大的优势,现在全球铺天盖地的Web网站就是明证;而对于交互复杂的ERP等企业级应用,B/S则很难胜任,从全球范围看,成熟的ERP产品大多采用二层或三层C/S架构,B/S的ERP产品并不多见。   “B/S还是C/S”也就由此成了ERP的技术之痛。难道这个痛就无药可救了吗?是否有可能将B/S与C/S的优势融合呢?答案是肯定的,在这几年的发展中将B/S与C/S的优势完美地结合起来,就是说该平台的应用系统能以B/S的方式发布运行,同时又具有C/S方式的极强的可操作性。这点从该平台生成的商品化的网络协同商务管理软件上得到充分的体现!
相似回答