C/S模式和B/S模式
C/S模式和B/S模式
1.C/S模式(Client/Server,客户机/服务器模式)
如QQ 暴风影音,PPlive等应用软件都是C/S模式
是一种软件系统结构的一种,C/S模式是基于企业内部网络的应用系统,与B/S模式的相比,最大的优点是,不依赖企业外网的环境,无论企业是否能够上网,都不影响应用。
服务器通常采用高性能的PC、工作站或者小型机,并采用大型数据库系统,客户端需要安转专用的客户端软件。C/S结构的软件针对不同的操作系统开发不同版本的软件,加之产品更新换代很快(每次更新,要给每个客户端电脑更新,麻烦),已经很难适应百台以上的局域网用户同时使用,而且代价高效率低。
优点:
1).C/S模式充分发挥客户端PC的处理能力,很多工作可以在客户端处理之后再提交给服务器,对应的优点就是客户端响应速度快。
2).将应用程序与服务器分离,系统具有稳定性和灵活性。
3).适合于局域网,安全性高。
缺点:
1).只适用于局域网,随着互联网的飞速发展,移动办公和分布式办公越来越普及,远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。
2).客户端需要安转专门的客户端软件,首先涉及安装工作量,其次,任何一台电脑出现问题,如病毒,硬件损坏都需要进行安转和维护,如果软件需要升级,每台客户机都需要重新安转,维护和升级成本非常高。
3).客户端软件对操作系统有限制,可能适应XP,不适应win7,更不必说Linux等。
2.B/S模式(Browser/Server,浏览器/服务器模式)
随着互联网的兴起,对C/S模式进行了扩展,B/S结构中用户界面是通过浏览器实现的,B/S是基于应用层http协议的web,建立在广域网上。
B/S模式最大优点是运行维护比较简单,能实现不同人员在不同地点,以不同的接入方式访问和操作共同的数据。
B/S工作方式:
用户通过WWW浏览器访问互联网的数据、图片、视频等信息。这些信息是由很多个Web服务器产生的,每个Web服务器又通过不同的方式与数据库服务器相连,大量数据存放在数据库服务器中。客户端一般除了浏览器,不需要安转任何用户程序,只需从web服务器下载到本地执行即可,在下载过程中若遇到数据库相关的指令,则web服务器交给数据库服务器执行,执行完后,返回给web服务器,web服务器在返回给用户。
优点:
1).维护、升级简单,每次维护或者升级,只要对服务器操作即可,客户端不需要修改。
2).开放性好(用户通过通用浏览器访问),可扩展性好(由于web平台的无关性,B/S可以任意扩展)
3).用户使用方便,用户接触的浏览器界面相似。
缺点:
1).安全性较弱。
2).响应速度受很多因素影响,用户体验不是特别好。
两者的区别:
1.硬件环境不同
C/S建立专用网络,局域网之间在通过专门的服务器提供连接。
B/S建立在广域网上,不必专门的网络硬件环境,只要有操作系统和浏览器就行。
2.程序架构
C/S程序更加注重流程,可以对权限多层次校验,对系统的运行速度可以较少考虑。
B/S对安全以及访问速度的多重考虑,建立在需要更加优化基础之上
3.软件重用不同
C/S程序可以不可避免整体考虑,重构性不如B/S重构性好,
B/S多重结构,要求构件相对独立的功能。
4.用户接口不同
C/S多建立在Windows平台上
B/S建立浏览器
5.信息流不同
C/S是典型的中央集权的机械式处理,交互性相对较低
B/S是信息流向变化,B-B,B-C等信息,流向的变化
其他:
在C/S架构上提出B/S架构,是为了满足瘦客户端、一体化客户端的需要,最终目的是节约客户端的更新、维护成本,及广域资源共享。
- B/S是属于C/S的,浏览器是特殊的客户端。
- C/S可以使用任何通信协议,B/S这个特殊的C/S架构必须使用http协议。
- 浏览器是一个通用的客户端,本质上开发浏览器,还是实现一个C/S系统。
C/S模式和B/S模式的更多相关文章
- Objective-C 工厂模式(下) -- 抽象工厂模式
相比简单工厂模式, 只有一个工厂 能生产的手机也是固定的 抽象工厂模式类似于有很多家工厂, 当用户要买什么手机就创建对应的工厂去生产 比如用户要买iPhone就创建一个Apple工厂来生产手机, 要买 ...
- 轻松掌握:JavaScript代理模式、中介者模式
代理模式.中介者模式 代理模式 在面向对象设计中,有一个单一职责原则,指就一个类(对象.函数)而言,应该仅有一个引起它变化的原因.如果一个对象承担了过多的职责,就意味着它将变得巨大,引起它变化的原因就 ...
- .NET应用架构设计—表模块模式与事务脚本模式的代码编写
阅读目录: 1.背景介绍 2.简单介绍表模块模式.事务脚本模式 3.正确的编写表模块模式.事务脚本模式的代码 4.总结 1.背景介绍 要想正确的设计系统架构就必须能正确的搞懂每个架构模式的用意,而不是 ...
- Oracle归档模式和非归档模式
一 什么是Oracle归档模式? Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里.一般数据库至少要有2个联机重做日志 ...
- [.NET领域驱动设计实战系列]专题五:网上书店规约模式、工作单元模式的引入以及购物车的实现
一.前言 在前面2篇博文中,我分别介绍了规约模式和工作单元模式,有了前面2篇博文的铺垫之后,下面就具体看看如何把这两种模式引入到之前的网上书店案例里. 二.规约模式的引入 在第三专题我们已经详细介绍了 ...
- 七个结构模式之享元模式(Flyweight Pattern)
定义: 运用共享技术对大量细粒度对象的复用,这要求这些对象都很相似,状态变化很小.将这些对象的内部状态和外部状态进行区分,对于内部状态相同的只存储一个对象,而对不同的外部状态则采用不同的操作. 结构图 ...
- 七个结构模式之装饰者模式(Decorator Pattern)
定义: 使用组合的方法,动态给一个类增加一些额外的功能,避免因为使用子类继承而导致类继承结构复杂.并且可以保持和被装饰者同一个抽象接口,从而使客户端透明. 结构图: Component:抽象构件类,定 ...
- 浅谈WCF的三种通信模式:请求响应模式、数据报模式和双工通讯模式
一: WCF的服务端与客户端在通信时有三种模式:请求响应模式.数据报模式和双工通讯模式. 说一下基本知识, 1.如果想要将当前接口作为wcf服务器,则一定要加上[ServiceContract] 契 ...
- MVC+EF 理解和实现仓储模式和工作单元模式
MVC+EF 理解和实现仓储模式和工作单元模式 原文:Understanding Repository and Unit of Work Pattern and Implementing Generi ...
- 大端模式 VS 小端模式
简单点说,就是字节的存储顺序,如果数据都是单字节的,那怎么存储无所谓了,但是对于多字节数据,比如int,double等,就要考虑存储的顺序了.注意字节序是硬件层面的东西,对于软件来说通常是透明的.再说 ...
随机推荐
- behavior
http://www.css88.com/book/css/properties/only-ie/behavior.htm 语法: behavior:<url> | url(#objID) ...
- Scalable IO in Java【java高效IO】
第一次翻译,如有错误,请指正 1.Outline 大纲Scalable network services 高效网络服务 Event-driven processing 事件驱动处理 Reactor ...
- poj3061 Subsequence(尺取)
Description A sequence of N positive integers (10 < N < 100 000), each of them less than or eq ...
- BZOJ3246 IOI2013Dreaming
如果将森林里每棵树都各自看做一个点,那么最后所连成的树应该是一颗菊花,否则将叶子节点父亲改为根不会更劣. 对于每个点所代表的树,其和根节点相连的点应该是到其他点距离最大值最小的点.这个点显然是直径的中 ...
- BZOJ1061 [Noi2008]志愿者招募 【单纯形】
题目链接 BZOJ1061 题解 今天终于用正宗的线性规划\(A\)了这道题 题目可以看做有\(N\)个限制和\(M\)个变量 变量\(x_i\)表示第\(i\)种志愿者的人数,对于第\(i\)种志愿 ...
- 使用LD_Preload的Linux权限升级技巧
0x00 前言 共享库是程序在启动时加载的库.正确安装共享库后,之后启动的所有程序将自动使用新的共享库. 0x01 共享库名称 每个共享库都有一个名为soname的特殊名称.soname有前缀li ...
- Metasploit+python生成免杀exe过360杀毒
Metasploit+python生成免杀exe过360杀毒 1在kali下生成一个反弹的msf的python脚本,命令如下: msfvenom -p windows/meterpreter/reve ...
- 【DP】【P4539】 [SCOI2006]zh_tree
Description 张老师根据自己工作的需要,设计了一种特殊的二叉搜索树. 他把这种二叉树起名为zh_tree,对于具有n个结点的zh_tree,其中序遍历恰好为(1,2,3,-,n),其中数字1 ...
- 流媒体协议之RTSP服务端的实现20180629
RtspServer是参考了live555和jrtplib实现的,但代码全部是重新书写的,所以不依赖于任何第三方库即可编译和运行, 目前仅支持h264和G711格式,这是rtp打包时决定的,后续将不断 ...
- 音视频处理之FFmpeg+SDL+MFC视频播放器20180411
一.FFmpeg+SDL+MFC视频播放器 1.MFC知识 1).创建MFC工程的方法 打开VC++ 文件->新建->项目->MFC应用程序 应用程序类型->基于对话框 取消勾 ...