【背景】
走过了C/S阶段,对于B/S也开始好长时间了,那么为什么要分B/S和C/S呢?这两个在什么时候用?米老师说学习要囫囵吞枣,盲人摸象,要有个大概的了解,接触了一段时间,对于B/S的架构稍有理解,从C/S到B/S的一个过渡,带着全局观的思想,开始我们的探索之路吧,一场B/S架构和C/S架构之争由此拉开帷幕!
【正文】
第一幕:B/S、C/S出场
【C/S】
一种典型的两层架构,C—Client,S—Server,即客户端服务器架构, 客户端需要实现绝大多数的业务逻辑和界面展示,因为显示逻辑和事务处理都包含在内,所以作为客户端的部分需要承受很大的压力,所以称作“胖客户端架构”。
例子:腾讯软件qq,我们下载的软件就是所谓的客户端,一个服务器一般对应一个到多个客户机;
【B/S】
B—Browser,S—Server,即浏览器 /服务器架构,浏览器指的是Web浏览器,极少数事务逻辑在前段实现,但主要事务逻辑在服务器端实现,Browser客户端、WebApp服务器端和DB端构成所谓的三层架构,显示逻辑放在了Web浏览器,事务逻辑放在了WebApp上,这样就避免了庞大的胖客户端,客户端包含的逻辑很少,因此被称为“”瘦客户端架构”。
例子:新浪微博,无需安装客户端,只要一款Web浏览器,让您放心使用;
第二幕:B/S vs C/S
【B/S vs C/S】 ![](https://img-blog.csdn.net/20161211211647787?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenQxNTczMjYyNTg3OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
第三幕:裁判点评
【C/S架构的优缺点】
1、优点
♪ C/S架构的页面和操作可以很丰富。
♪ 安全性能可以很容易保证,实现多层认证也不难。
♪ 由于只有一层交互,因此响应速度较快。
2、缺点
• 适用面窄,通常用于局域网中。
• 用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户。
• 维护成本高,发生一次升级,则所有客户端的程序都需要改变。
【B/S架构的优缺点】
1、优点
♪ 客户端无需安装,有Web浏览器即可。
♪ B/S架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。
♪ B/S架构无需升级多个客户端,升级服务器即可。
2、缺点
• 在跨浏览器上,B/S架构不尽如人意。
• B/S架构的表现要到达C/S程序的程度需要花费不少精力。
• 在速度和安全性上需要花费巨大的设计成本,这是B/S架构的最大问题。
• 客户端服务器端的交互式请求-响应模式,通常需要刷新页面,这并不是客户乐意去做的。(在Ajax实用化后此问题得到了一定程度的缓解)。
第四幕:B/S架构的最后拉分
【B/S对C/S的改进和拓展】
C/S和B/S都可以进行同样的业务处理,但是B/S随着Internet技术的兴起,是对C/S结构的一种改进或者扩展的结构。相对于C/S,B/S具有如下优势:
1、分布性:可以随时进行查询、浏览等业务
2、业务扩展方便:增加网页即可增加服务器功能
3、维护简单方便:改变网页,即可实现所有用户同步更新
4、开发简单,共享性强,成本低,数据可以持久存储在云端而不必担心数据的丢失。
第五幕:观众投票
聪明的观众们脑补……
【小结】
经过了激烈的角逐,对于C/S架构和B/S架构有了清楚的认识,具体什么时候用什么,当然还是要根据需求而定!
欢迎大家与小编相互学习交流!