CS与BS架构
CS/BS
- C/S和B/S都是互联网中常见的网络结构模型。
(1)什么是C/S模型
C/S模型指的是客户端/服务器模型,是一种计算机系统架构模式,其中系统功能被划分为客户端和服务器两个独立的部分,它们通过网络进行通信和协作。这个模型通常用于构建分布式应用程序,其中客户端和服务器分别负责不同的任务。
C是英文单词“Client”的首字母,即客户端的意思
S是英文单词“Server”的首字母,即服务器的意思
C/S就是“Client/Server”的缩写,即“客户端/服务器”模式
- 例如:拼多多APP、PC上的有道云笔记等等

(2)什么是B/S模型
- B是英文单词“Browser”的首字母,即浏览器的意思
- S是英文单词“Server”的首字母,即服务器的意思
- B/S就是“Browser/Server”的缩写
- 即“浏览器/服务器”模式
- 例如:淘宝网、京东网等等
- 即“浏览器/服务器”模式

(3)两大模型的比较
- C/S和B/S是当今世界开发模式技术架构的两大主流技术
- C/S是美国Borland公司最早研发
- B/S是美国微软公司研发
- 目前,这两项技术以被世界各国所掌握
- 国内公司以C/S和B/S技术开发出产品也很多
- 这两种技术都有自己一定的市场份额和客户群,各家企业都说自己的管理软件架构技术功能强大、先进、方便,都能举出各自的客户群体
(4)C/S架构软件的优势与劣势
- 优势
- 针对客户端可以高度定制
- 劣势
- 需要用户去下载才能使用,不方便
(1)应用服务器运行数据负荷较轻
- 最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。
- 二者可分别称为前台程序与后台程序。
- 运行数据库服务器程序的机器,也称为应用服务器。
- 一旦服务器程序被启动,就随时等待响应客户程序发来的请求;
- 客户应用程序运行在用户自己的[电脑]
- 对应于数据库服务器,可称为客户[电脑]
- 当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求
- 服务器程序根据预定的规则作出应答,送回结果
- 应用服务器运行数据负荷较轻。
(2)数据的储存管理功能较为透明
- 在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现
- 例如访问者的权限,编号可以重复、必须有客户才能
- 建立定单这样的规则。
- 所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。
- 在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。
- 在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。
(3)C/S架构的劣势是高昂的维护成本且投资大
- 首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题
- 如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。
- 其次,传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。
- 在JAVA这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战。
(5)B/S架构软件的优势与劣势
(1)维护和升级方式简单
- 目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。
- 对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的
- 但B/S架构的软件只需要管理服务器就行了
- 所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量
- 所有的操作只需要针对服务器进行;
- 如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。
- 所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。
- 今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。
- 因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。
(2)成本降低,选择更多
- 大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置
- 但在服务器操作系统上windows并不是处于绝对的统治地位。
- 现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。
- 所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来
- Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。
- 比如说很多人每天上“网易”(原文为新浪)网,只要安装了浏览器就可以了,并不需要了解“网易”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。
(3)应用服务器运行数据负荷较重
- 由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现
- 所有的客户端只有浏览器,网络管理人员只需要做硬件维护。
- 但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。
(6)C/S与B/S区别
- Client/Server是建立在局域网的基础上的
- Browser/Server是建立在广域网的基础上的。
(1)硬件环境不同
- C/S一般建立在专用的网络上
- 小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。
- B/S建立在广域网之上的
- 不必是专门的网络硬件环境
- 例如电话上网,租用设备,信息自己管理,有比C/S更强的适应范围
- 一般只要有操作系统和浏览器就行。
(2)对安全要求不同
- C/S一般面向相对固定的用户群,对信息安全的控制能力很强。
- 一般高度机密的信息系统采用C/S结构适宜,可以通过B/S发布部分可公开信息。
- B/S建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群。
(3)对程序架构不同
- C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。
- B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上。
- 比C/S有更高的要求,B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk2000Exchange2000等,全面支持网络的构件搭建的系统。
- SUN和IBM推的JavaBean构件技术等,使B/S更加成熟。
(4)软件重用不同
- C/S程序可以不可避免的整体性考虑
- 构件的重用性不如在B/S要求下的构件的重用性好。
- B/S对的多重结构,要求构件相对独立的功能。
- 能够相对较好的重用。就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。
(5)系统维护不同
- 系统维护是软件生存周期中,开销大,相当重要
- C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级难,可能是再做一个全新的系统。
- B/S构件组成方面构件个别的更换,实现系统的无缝升级。
- 系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。
(6)处理问题不同
- C/S程序可以处理用户面固定,并且在相同区域,安全要求高的需求,与操作系统相关,应该都是相同的系统。
- B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的,与操作系统平台关系最小。
(7)用户接口不同
- C/S多是建立在Window平台上,表现方法有限,对程序员普遍要求较高。
- B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流,并且大部分难度减低,降低开发成本。
(8)信息流不同
- C/S程序一般是典型的中央集权的机械式处理,交互性相对低。
- B/S信息流向可变化,B-B、B-C、B-G等信息流向的变化,更象交易中心。
CS与BS架构的更多相关文章
- cs 与 bs 架构
C/S和B/S各有优势,C/S在图形的表现能力上以及运行的速度上肯定是强于B/S模式的,不过缺点就是他需要运行专门的客户端,而且更重要的是它不能跨平台,用c++在windows下写的程序肯定是不能在l ...
- CS/BS架构的特点
CS架构 优点: 1.有独立的客户端,安全性高 2.大部分业务都在客户端实现,可以实现很复杂的业务 缺点: 1.对环境要求高,需要安装客户端,推广速度慢 2.需要专门前后台的开发团队,维护成本高 B/ ...
- 常看常遇见之一——BS架构VS CS架构
常看常遇见之一——BS架构VS CS架构 1.BS架构 即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构.在这种结构下,用户 ...
- [学习笔记]BS架构与CS架构
整理自:http://www.iteye.com/problems/102411 前两天面试的时候被问到这个问题,没有回答上来因此在这里学习整理一下. B/S架构 B/S架构的全称为Browser/S ...
- 什么是CS和BS结构,两种结构的区别
什么是CS和BS结构,两种结构的区别 什么是C/S和B/S结构? C/S又称Client/Server或客户/服务器模式.服务器通常采用高性能的PC.工作站或小型机,并采用大型数据库系 ...
- 一文明白所谓的CS与BS设计模式
CS设计模式 概念:CS设计模式,C代表的是Client,S代表的是Server.正如图中的所示,是客户机与服务器之间的交互.这种交互在早期的软件系统中,大多数都是采用这种模式,通过将任务合理分配到C ...
- 进程池与线程池基本使用、协程理论与实操、IO模型、前端、BS架构、HTTP协议与HTML前戏
昨日内容回顾 GIL全局解释器锁 1.在python解释器中 才有GIL的存在(只与解释器有关) 2.GIL本质上其实也是一把互斥锁(并发变串行 牺牲效率保证安全) 3.GIL的存在 是由于Cpyth ...
- 在windev中实现BS架构级的灵活排版
windev是CS架构,但却能够实现BS架构级的灵活排版.玩过CS架构的老铁们,感受应会都如我,如获新生!因为苦于没有一张好画皮久矣!在windev中,要实现灵活,专业,自适应和非常丰富的排版,可以关 ...
- .Net机试题——编写一个BS架构的多层表结构的信息管理模块
要求: 编写一个BS架构的多层表结构的信息管理模块,用户体验需要注意.包含错误处理,需要最终能完整的跑起来.页面可以不美化,但是整洁还是必须的.在不能完成详细功能需求的情况下优先保证基本功能. 1 ...
- 1.cs与bs结构
####CS 与 BS 结构 C/S 结构软件:客户端(Client)服务器(Server)软件,客户端需要单独下载安装之后,才能正常操作的软件 B/S 结构软件:浏览器(Browser)服务器(Se ...
随机推荐
- 【Linux】3.1 远程登录Linux系统
为什么需要远程登录 Linux 示意图 说明: 公司开发时候, 具体的情况是这样的 linux 服务器是开发小组共享的. 正式上线的项目是运行在公网的. 因此程序员需要远程登录到 centos 进行项 ...
- C# Socket的使用方法 及 简单实例
核心: 在服务器端和客户端的两个Socket实例,共同维持一个连接,而我们还需要一个服务端绑定了特定端口号的固定的serverSocket,用来监听远方clientSocket的申请,并为这个申请建立 ...
- 活动中台系统慢 SQL 治理实践
作者:vivo 互联网服务器团队- Zhang Mengtao 活动中台系统作为中台项目非常注重系统性能和用户体验,数据库系统性能问题会对应用程序的性能和用户体验产生负面影响.慢查询可能导致应用程序响 ...
- MySurvey 问卷调查, 一个简单的Biwen.QuickApi示例项目
MySurvey 项目 很久没更新我的博客了,之前开发的Biwen.QuickApi微框架 一直没有开发一个示例项目,最近有点时间,写了一个示例项目稍微介绍下 项目简介 这是一个基于 Biwen.Qu ...
- DevOps的工作岗位的要求
## 为什么需要DevOps 不是每个人都能理解可靠的版本管理和牢固的构建系统的重要性. 也不是任何人能使得软件的发布达到可靠性,可重复性和可审计的高标准.Devops的职责就是将软件的构建和发布的流 ...
- Unity/Auto Layout -- 理解Layout Elements(布局元素)
- infiniswap安装
环境:ubuntu14.04,内核4.04 uname -a Linux ubuntu 4.4.0-142-generic #168~14.04.1-Ubuntu SMP Sat Jan 19 11: ...
- 蒟蒻 AstralNahida 的码风
前言 这里是蒟蒻 OIer AstralNahida 在 OI 中的码风的详细介绍. 个人认为码风相当清晰,供给各位参考. 约定 对于一些表示必要性的关键词,从 must 到 mustn't 排序如下 ...
- Linux操作系统(中)
上一篇分享了一些Linux操作系统最基本的一些命令和基础知识,下面,要分享的还是Linux操作系统的一些内容,因为在做网安这方面,Linux会经常用到而且也很重要,好了,废话不多说,要开始了. 在Li ...
- xamarin.forms+prism 实现DialogService(对话框服务)
Getting Started with IDialogAware Creating dialogs with the DialogService requires a ViewModel that ...