深入理解C/S和B/S模式

B/S模式:browser/server,采用的是浏览器/服务器模式。C/S模式:client/server,采用的是客户端/服务器模式。
C/S模式主要由客户端应用程序(Client)、服务器管理程序(Server)和中间件(middleware)三个部件组成。
客户应用程序是系统中用户与数据进行交互的部件。
服务器管理程序负责有效地管理系统资源,如管理一个信息数据库,其主要工作是当多个客户并发地请求服务器上的相同资源时,对这些资源进行最优化管理。
中间件负责联结客户应用程序与服务器管理程序,协同完成一个作业,以满足用户查询管理数据的要求。


B/S模式是一种以Web技术为基础的新型MIS(Management Information System,管理信息系统)系统平台模式。把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系。
  第一层客户机是用户与整个系统的接口。客户的应用程序精简到一个通用的浏览器软件,如火狐等。浏览器将HTML代码转化成图文并茂的网页,网页还具备一定的交互功能,允许用户在网页提供的表单上输入信息提交给后台,并提出处理请求,后台处理请求并作出响应,这个后台就是第二层的Web服务器。
  第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,在其中嵌入处理的结果,返回给客户机的浏览器。如果客户机提交的请求包括数据的存取,Web服务器还需与数据库服务器协同完成这一处理工作。
  第三层数据库服务器的任务类似于C/S模式,负责协调不同的Web服务器发出的SQ(查询)请求,管理数据库。

一、B/S模式

(1)B/S模式的优势
首先它简化了客户端。它无需像C/S模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件即可,从而达到了不受地域限制,分布性广的目的,只要客户端能够上网即可完成相应操作。
其次,它简化了系统的开发和维护。系统的开发者无须再为不同级别的用户设计开发不同的客户应用程序,只需把所有的功能都实现在Web服务器上,并就不同的功能为各个组别的用户设置权限就可以。各个用户通过HTTP请求在权限范围内调用Web服务器上不同处理程序,从而完成对数据的查询或修改操作。
相对于C/S,B/S的维护具有更大的灵活性。当形势变化时,它无须再为每一个现有的客户应用程序升级,而只需对Web服务器上的服务处理程序进行修订即可。如果一个公司有上千台客户机,并且分布在不同的地点,那么便于维护将会显得非常重要。
再次,它使用户的操作变得更加简单。对于C/S模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用B/S模式时,客户端只是一个简单易用的浏览器软件。无论是决策层还是操作层的人员都无需培训就可以直接使用。
最后,B/S模式特别适用于网上信息发布,使得传统的MIS的功能有所扩展。这是C/S所无法实现的。而这种新增的网上信息发布功能恰是现代企业所需的。这使得企业的大部分书面文件可以被电子文件取代,从而提高了企业的工作效率,使企业行政手续简化,节省人力物力财力。
B/S模式的新颖与流行,和在某些方面相对于C/S的巨大改进,使B/S成了MIS系统平台的首选。
(2)B/S 模式的劣势

  • 个性化特点明显降低,无法实现具有个性化的功能要求。
  • 操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。
  • 页面动态刷新,响应速度明显降低。
  • 无法实现分页显示,给数据库访问造成较大的压力。
  • 功能弱化,难以实现传统模式下的特殊功能要求。

二、C/S模式

(1)C/S模式的优势
首先,交互性强是C/S固有的一个优点。在C/S中,客户端有一套完整的应用程序,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。B/S虽然由JavaScript等脚本语言提供了一定的交互能力,但与C/S的一整套客户应用相比还是有一定的局限。
其次,C/S 模式提供了更安全的存取模式。由于C/S是配对的点对点的结构模式,采用适用于局域网、安全性比较好的网络协议(例如:NT的NetBEUI协议),安全性可以得到较好的保证。而B/S采用点对多点、多点对多点这种开放的结构模式,并采用TCP/IP这一类运用于Internet的开放性协议,其安全性只能靠数据服务器上管理密码的数据库来保证。现代企业需要有开放的信息环境,需要加强与外界的联系,有的还需要通过Internet发展网上营销业务,这使得大多数企业将他们的内部网与Internet相连。由于采用TCP/IP,他们必须采用一系列的安全措施,如构筑防火墙,来防止Internet的用户对企业内部信息的窃取以及外界病毒的侵入等。
再次,采用B/S模式将降低网络通信量。B/S采用了逻辑上的三层结构,而在物理上的网络结构仍然是原来的以太网或环形网。这样,第一层与第二层结构之间的通信、第二层与第三层结构之间的通信都需占用同一条网络线路。而C/S只有两层结构,网络通信量只包括Client与Server之间的通信量。所以,C/S处理大量信息的能力是B/S所无法比拟的。
最后,C/S模式比B/S模式响应更快。由于C/S在逻辑结构上比B/S少一层,对于相同的任务,C/S完成的速度总比B/S快,快是由于客户端与服务器的直接相连,没有中间环节,因此响应速度快。使得C/S更利于处理大量数据。
(2)C/S 模式的劣势

  • 需要专门的客户端安装程序,分布功能弱,主要针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置,升级维护困难。
  • 兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。
  • 开发成本较高,需要具有一定专业水准的技术人员才能完成。

三、C/S模式与B/S模式相结合方案

系统分析员可以根据系统的特点,灵活地为不同的子功能采用不同的MIS系统平台,将两种模式交叉并行使用。首先,开发者根据一定的原则,将系统的所有子功能分类,决定哪些子功能适合采用C/S,哪些适合采用B/S。
适合采用C/S的子功能应具备以下特点:

  • 安全性要求高;
  • 要求具有较强的交互性;
  • 使用范围小,地点固定;
  • 要求处理大量数据。

适合采用B/S的子功能应具备以下特点:

  • 使用范围广,地点灵活;
  • 功能变动频繁;
  • 安全性、交互性要求不是很高。

相对于单独采用C/S或B/S,这种方案的优点在于:
1、保证敏感数据的安全性,特别是对数据库的修改和新增记录加强了控制;
2、经济有效地利用企业内部计算机的资源,简化了一部分可以简化的客户端;
3、既保证了复杂功能的交互性,又保证了一般功能的易用与统一;
4、系统维护简便,布局合理;
5、网络效率利用达到最高。

参考资料:
(1) https://www.cnblogs.com/yan1/p/9693762.html
(2) https://wenku.baidu.com/view/e8b0588a312b3169a551a43e.html

原文地址:https://www.cnblogs.com/jasonboren/p/12182575.html