1、概念说明前端
C/S(Client/Server(客服机/服务器))架构:客户端/服务器架构。经过将任务合理分配到Client端和Server端,下降了系统的通信开销,须要安装客服端才可进行管理操做。程序员
B/S(Browser/Server(浏览器/服务器))架构:是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面彻底经过WWW浏览器实现,一部分事务逻辑在前端实现,可是主要事务逻辑在服务器端实现,造成所谓3-tier结构。因为客户端基本上没有专门的应用程序,应用程序基本上都在服务器端。因为客户端没有程序,应用程序的升级和维护均可以在服务器端完成,升级维护方便。浏览器
2、二者的区别与联系安全
C/S 架构即“客户端-服务器” 架构。这里的“客户端”能够是有 GUI (图形用户界面)的定制软件,也能够是浏览器,甚至能够是经过 SSH 访问服务器的命令行脚本。只要是客户端经过访问服务器直接调取计算或者存储资源的,通通都是 C/S 架构,不能单纯的从APP或者网站进行区别,即所谓的 B/S架构实际上是 C/S 架构的一种特殊的实现形式。服务器
网络上从硬件、网络、维护、数据安全等方面对二者的区别分析以下:网络
1.网络环境:
Client/Server是创建在局域网的基础上的.Browser/Server是创建在广域网的基础上的.
2.硬件环境不一样:
C/S 通常创建在专用的网络上,小范围里的网络环境,局域网之间再经过专门服务器提供链接和数据交换服务.
B/S 创建在广域网之上的,没必要是专门的网络硬件环境,例与电话上网,租用设备.信息本身管理.有比C/S更强的适应范围,通常只要有操做系统和浏览器就行
对安全要求不一样
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等信息、流向的变化,更象交易中心
我的理解:
BS架构:支持不少人访问(甚至包括陌生人,游客等),收到需求时直接从服务器获取数据回应,不须要信息的实时性,只在请求发生时进行响应,但数据须要长期有效性。B/S最大优点为客户端免维护,适用于用户群庞大,或客户需求经长发生变化的状况.
CS架构:信息有着一对一,点对点的转发,单线传输,实时转发的特性的,服务器只作转发功能,大量的工做在客户端,能够减轻服务器端压力,若是用户的需求特别复杂,用C/S.