当前位置: 首页 > news >正文

b/s结构和c/s结构

C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。。
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。
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系列的BizTalk 2000 Exchange 2000等, 全面支持网络的构件搭建的系统. 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等信息、流向的变化, 更象交易中心

转载于:https://www.cnblogs.com/xingqiba/archive/2012/07/06/2579547.html

相关文章:

  • IBM x3650 m3 raid0
  • Linux内核中的双向循环链表学习
  • .net中生成excel后调整宽度
  • maven 自动生成运行脚本插件appassembler-maven-plugin
  • Spring配置数据源的三种方式
  • 数据库的四种类型的完整性约束
  • 由struct 和class 想到的浅度复制和深度复制 c#
  • 深入理解C#之 参数传递 ref out params
  • Spring表单校验解析
  • flex 学习笔记 动态改变 样式文件
  • CLI配置和编址
  • 【转】解决启动memcached启动时报”memcached:error while load...
  • MySql跨服务器备份数据库
  • 语音提示倒计时小工具
  • Unicode
  • 【刷算法】从上往下打印二叉树
  • Android单元测试 - 几个重要问题
  • Android开源项目规范总结
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • gulp 教程
  • Java编程基础24——递归练习
  • Java面向对象及其三大特征
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • LeetCode算法系列_0891_子序列宽度之和
  • Lsb图片隐写
  • MySQL数据库运维之数据恢复
  • php中curl和soap方式请求服务超时问题
  • Spring-boot 启动时碰到的错误
  • Theano - 导数
  • Vue全家桶实现一个Web App
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 给初学者:JavaScript 中数组操作注意点
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 数组大概知多少
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​第20课 在Android Native开发中加入新的C++类
  • ​用户画像从0到100的构建思路
  • #QT(串口助手-界面)
  • (23)Linux的软硬连接
  • (3)(3.5) 遥测无线电区域条例
  • (AngularJS)Angular 控制器之间通信初探
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (安卓)跳转应用市场APP详情页的方式
  • (定时器/计数器)中断系统(详解与使用)
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (太强大了) - Linux 性能监控、测试、优化工具
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • ../depcomp: line 571: exec: g++: not found
  • .md即markdown文件的基本常用编写语法
  • .NET Core引入性能分析引导优化