[转帖]C/S 与B/S 相比一无是处??

lightlanguage 2020-01-08

C/S 与B/S 相比一无是处??

https://blog.csdn.net/jojo52013145/article/details/5784995


       所谓C/S 结构是一个程序的运行方式,它是Client/Server 的简称,即客户机和服务器
结构,而B/S 结构指的是Browser/Server 的简称,即浏览器和服务器结构。随着互联网在
政治、经济、生活等各个领域的不断发展,使基于浏览器的B/S 的应用程序逐步的发展起来,
也有人把这种应用形式称作"瘦客户机"程序。所谓瘦客户机指的就是,在客户端无需安装过
多的软件即可以实现与服务器的交互。
当B/S 程序发展到了今天,C/S 的程序越来越少了,现在C/S 似乎已经成为过时的一种
开发方法,B/S 的程序如日中天,一发不可收拾。甚至有时候,我们的好多程序员对C/S 程
序嗤之以鼻,一提到C/S 程序简直就是不屑一顾。
然而,C/S 的程序真的一无是处吗?


1. B/S 是一个很好的创意
在互联网应用程序应用初期,大多数应用都是建立在C/S 结构基础上的,浏览器的应用
促使动态页面的实现,于是就有人提出来,能不能用浏览器作为应用程序的客户端呢?
于是,B/S 程序结构便应运而生,浏览器和服务器结构是对C/S 结构的一种变化或者改
进的结构。在这种结构下,用户工作界面是通过WWW 浏览器来实现,极少部分事务逻辑在前
端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的
总体成本。
以目前的技术看,局域网建立B/S 结构的网络应用,并通过Internet/Intranet 模式下
数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,
从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet 等)访问和操作共
同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是
在Java 这样的跨平台语言出现之后,B/S 架构管理软件更是方便、快捷、高效。
传统的C/S 体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定
的应用中无论是Client 端还是Server 端都还需要特定的软件支持。


2. B/S 程序本身也是一个C/S 程序
可以观察一下这两个结构的形式,看看它们有什么相似之处。
先看一下C/S 的结构示意图,如图2 8所示。


客户端软件 是为了完成更多的管理功能而开发的,通过它将与数据库系统进行数据交
换,达到管理数据的目的。将各种计算与数据逻辑加入到客户端软件中,服务器端只负责存
取数据,因此,客户端与服务器端交互的数据完全是纯数据流。
然后我们再看一下B/S 的架构,如图2 9所示。
B/S 结构的客户端是浏览器,数据逻辑与计算基本上都是在服务器端进行,客户端仅仅
是将计算与数据取得的结果予以呈现,而这时候所呈现的内容也依赖服务器端所返回的
Http 数据流中包含的标记。
大家看看这两个结构图的差异,不难发现他们的基本结构极其相似,都是有"客户端"
的,只不过B/S 的客户端是浏览器而已。这说明,从本质上来说,B/S 结构的系统也是一种
C/S 的软件。

3. C/S 程序的优势--速度
他的速度优势就是来自于网络传输的内容,在C/S 程序中所传递的是纯数据流,而在B/S
中所传递的不仅仅是数据还要包含格式数据,而往往格式信息的数据量会超过纯数据的信息
量。另一个影响速度的地方是,逻辑运算部分,B/S 的逻辑运算是在服务器端进行,而C/S
结构的逻辑运算都分别在不同的客户端进行,因此,分担了服务器端程序的CPU 资源。如图
2 10所示。


C/S 程序的应用服务器运行数据负荷较轻。最简单的C/S 体系结构的数据库应用由两部
分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行
数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客
户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为
客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,
并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负
荷较轻。
数据的储存管理功能较为透明。在数据库应用中,数据的储存管理功能,是由服务器程
序和客户应用程序分别独立进行的,在服务器程序中不集中实现。所有这些,对于工作在前
台程序上的最终用户,是"透明"的,他们无须过问背后的过程,就可以完成自己的一切工作。


4. C/S 程序的应用领域
我们了解到C/S 结构的程序的优势,那么一般C/S 程序应用到什么领域呢?
速度要求高
实时性要求比较高
用户一旦用上改动不大
比如,超市的销售收款程序,当顾客拿着物品准备交款的时候,却在等着那个缓慢呈现
的Web 页出现的时候,他会怎么想?因此,C/S 结构并不是一无是处,没必要一提到C/S 结
构就嗤之以鼻。对于上述领域B/S 程序是根本没有办法和C/S 程序相提并论的。
————————————————
版权声明:本文为CSDN博主「jojo52013145」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jojo52013145/article/details/5784995

相关推荐