【计算机基础】B/S和C/S
一、概念
1、C/S,即Client/Server(客户机/服务器)
通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。
2、B/S,即Browser/Server(浏览器/服务器)
用户界面完全通过www浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构(三层架构)。
B/S结构,主要是利用了不断成熟的www浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,使用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,节约了开发成本,是一种全新的软件系统构造技术。
补充:三层架构
将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了高内聚低耦合的思想。
二、C/S和B/S的区别
C/S是建立在局域网的基础上的,B/S是建立在广域网的基础上的,但并不是说B/S结构不能在局域网上使用。
1、硬件环境不同
C/S一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务。
B/S建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备。有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行。
2、对安全要求不同
C/S对服务端、客户端的安全都要考虑。
B/S因没有客户端,所以只注重服务端安全即可。
3、对程序架构不同
C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。
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建立在浏览器上, 通过WEB服务或其他公共可识别描述语言可跨平台,使用更灵活。不仅可应用在Window平台上,还可应用于unix/Linux等平台。
8、信息流不同
C/S程序一般是典型的中央集权的机械式处理,交互性相对低。
B/S信息流向可变化, B-B、B-C、B-G等信息、流向的变化, 更象交易中心。
三、C/S的优缺点
1、C/S模式的优点
1)由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度较快。
2)C/S结构的管理信息系统具有较强的事务处理能力。
2、C/S 模式的缺点:
1)只适用于局域网。
2)客户端需要安装专用的客户端软件。易受病毒、硬件损坏等干扰。
3)对客户端的操作系统一般也会有限制。
四、B/S的优缺点
1、B/S的优点
1)具有分布性特点,可以随时随地进行查询、浏览等业务处理。
2)业务扩展简单方便,通过增加页面即可增加服务器功能。
3)维护简单方便,只需要改变网页,即可实现所有用户的同步更新。
4)共享性强。
2、B/S 模式的缺点
1)响应速度不及C/S,随着AJAX技术的发展,相比传统B/S结构软件提升一倍速度。
2)用户体验效果不是很理想,B/S需要单独界面设计,厂商之间的界面也是千差万别,由于浏览器刷新机制,使用时有刷屏现象,好在AJAX技术解决这一难题。