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架构,是为了满足瘦客户端、一体化客户端的需要,最终目的是节约客户端的更新、维护成本,及广域资源共享。

  1.   B/S是属于C/S的,浏览器是特殊的客户端。
  2.   C/S可以使用任何通信协议,B/S这个特殊的C/S架构必须使用http协议。
  3.   浏览器是一个通用的客户端,本质上开发浏览器,还是实现一个C/S系统。

C/S模式和B/S模式的更多相关文章

  1. Objective-C 工厂模式(下) -- 抽象工厂模式

    相比简单工厂模式, 只有一个工厂 能生产的手机也是固定的 抽象工厂模式类似于有很多家工厂, 当用户要买什么手机就创建对应的工厂去生产 比如用户要买iPhone就创建一个Apple工厂来生产手机, 要买 ...

  2. 轻松掌握:JavaScript代理模式、中介者模式

    代理模式.中介者模式 代理模式 在面向对象设计中,有一个单一职责原则,指就一个类(对象.函数)而言,应该仅有一个引起它变化的原因.如果一个对象承担了过多的职责,就意味着它将变得巨大,引起它变化的原因就 ...

  3. .NET应用架构设计—表模块模式与事务脚本模式的代码编写

    阅读目录: 1.背景介绍 2.简单介绍表模块模式.事务脚本模式 3.正确的编写表模块模式.事务脚本模式的代码 4.总结 1.背景介绍 要想正确的设计系统架构就必须能正确的搞懂每个架构模式的用意,而不是 ...

  4. Oracle归档模式和非归档模式

    一 什么是Oracle归档模式? Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里.一般数据库至少要有2个联机重做日志 ...

  5. [.NET领域驱动设计实战系列]专题五:网上书店规约模式、工作单元模式的引入以及购物车的实现

    一.前言 在前面2篇博文中,我分别介绍了规约模式和工作单元模式,有了前面2篇博文的铺垫之后,下面就具体看看如何把这两种模式引入到之前的网上书店案例里. 二.规约模式的引入 在第三专题我们已经详细介绍了 ...

  6. 七个结构模式之享元模式(Flyweight Pattern)

    定义: 运用共享技术对大量细粒度对象的复用,这要求这些对象都很相似,状态变化很小.将这些对象的内部状态和外部状态进行区分,对于内部状态相同的只存储一个对象,而对不同的外部状态则采用不同的操作. 结构图 ...

  7. 七个结构模式之装饰者模式(Decorator Pattern)

    定义: 使用组合的方法,动态给一个类增加一些额外的功能,避免因为使用子类继承而导致类继承结构复杂.并且可以保持和被装饰者同一个抽象接口,从而使客户端透明. 结构图: Component:抽象构件类,定 ...

  8. 浅谈WCF的三种通信模式:请求响应模式、数据报模式和双工通讯模式

    一: WCF的服务端与客户端在通信时有三种模式:请求响应模式.数据报模式和双工通讯模式. 说一下基本知识,  1.如果想要将当前接口作为wcf服务器,则一定要加上[ServiceContract] 契 ...

  9. MVC+EF 理解和实现仓储模式和工作单元模式

    MVC+EF 理解和实现仓储模式和工作单元模式 原文:Understanding Repository and Unit of Work Pattern and Implementing Generi ...

  10. 大端模式 VS 小端模式

    简单点说,就是字节的存储顺序,如果数据都是单字节的,那怎么存储无所谓了,但是对于多字节数据,比如int,double等,就要考虑存储的顺序了.注意字节序是硬件层面的东西,对于软件来说通常是透明的.再说 ...

随机推荐

  1. 数据库优化之SQL语句优化-记录

    1. 操作符优化 (a) IN 操作符 从Oracle执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别: ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查 ...

  2. 【Python】python 2 map() reduce()

    利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字.输入:['adam', 'LISA', 'barT'],输出:['Adam', 'Lisa', 'Bart']. ...

  3. PE文件解析 基础篇

    PE文件解析 基础篇 来源 https://bbs.pediy.com/thread-247114.htm 前言 之前学习了PE格式,为了更好的理解,决定写一个类似LoadPE的小工具. 编译器是VS ...

  4. Pku1149 PIGS 卖猪

    题目链接:ヾ(≧∇≦*)ゝ Description Emmy在一个养猪场工作.这个养猪场有M个锁着的猪圈,但Emmy并没有钥匙. 顾客会到养猪场来买猪,一个接着一个.每一位顾客都会有一些猪圈的钥匙,他 ...

  5. 【LOJ6089】小Y的背包计数问题(动态规划)

    [LOJ6089]小Y的背包计数问题(动态规划) 题面 LOJ 题解 神仙题啊. 我们分开考虑不同的物品,按照编号与\(\sqrt n\)的关系分类. 第一类:\(i\le \sqrt n\) 即需要 ...

  6. Linux系统中/opt 和 /usr目录

    重点:usr是Unix Software Resource的缩写,即“UNIX操作系统软件资源”所放置的目录. 下面是个人找到的适合类似我这种从Windows转向Linux小白的文章. Ref:htt ...

  7. 【BZOJ4205】卡牌配对

    Description 现在有一种卡牌游戏,每张卡牌上有三个属性值:A,B,C.把卡牌分为X,Y两类,分别有n1,n2张. 两张卡牌能够配对,当且仅当,存在至多一项属性值使得两张卡牌该项属性值互质,且 ...

  8. 【bzoj3122】 Sdoi2013—随机数生成器

    http://www.lydsy.com/JudgeOnline/problem.php?id=3122 (题目链接) 题意 对于一个数列${X_i}$,其递推式为:${X_{i+1}=(a*X_i+ ...

  9. 解题:POI 2009 Fire Extinguishers

    题面 洛谷数据非常水,建议去bzoj 我第一眼一看这不是那个POI2011的升级版吗(明明这个是2009年的,应该说那个是这个的弱化版,果然思想差不多. 因为$k$很小,可以考虑每个间隔距离来转移.我 ...

  10. 丁酉年六月十一ACM模拟赛

    似乎该写题解了.今天模拟ACM,10道题(本来还有2道被删了),9道都来自BZOJ,中间我做过2道.那么说,今天Solv.便大大增多了(但还是不如强大的Amphetamine). 题单及一句话题解如下 ...