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. 计算机网络【1】—— OSI七层协议和TCP/IP四层协议

    新开一贴,专门用来记录计算机网络相关知识. 一.OSI七层协议 物理层.数据链路层.网络层.传输层.会话层.表示层.应用层 二.TCP/IP四层协议 网络接口层.网际层.运输层.应用层 三.五层协议 ...

  2. C# 抽签小程序

    设计背景 设置一个Excel名单表,对名单进行随机抽取. 设计思路 使用Timer定时器,运行定时器进行名单随机滚动,停止定时器获得抽签结果 相关技术 随机数 Excel读取/导出 XML文档读写 相 ...

  3. matlab中 assert(any(mask(:)));

    首先,matlab中any函数:检测矩阵mask中是否有非零元素,如果有,返回1,:如果没有非零元素,即所有元素都是0,那么则返回0. assert()是一个调试程序时经常使用的宏,在程序运行时它计算 ...

  4. Django 2.0 学习(21):Django Session

    Django Session Session 与Cookie 1.简介 1.Cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们又需要"保持状态",因 ...

  5. 【BZOJ 3326】[Scoi2013]数数 数位dp+矩阵乘法优化

    挺好的数位dp……先说一下我个人的做法:经过观察,发现这题按照以往的思路从后往前递增,不怎么好推,然后我就大胆猜想,从前往后推,发现很好推啊,维护四个变量,从开始位置到现在有了i个数 f[i]:所有数 ...

  6. BZOJ3112 [Zjoi2013]防守战线 【单纯形】

    题目链接 BZOJ3112 题解 同志愿者招募 费用流神题 单纯形裸题 \(BZOJ\)可过 洛谷被卡.. #include<algorithm> #include<iostream ...

  7. 20165218 《网络对抗技术》Exp0 Kali安装 Week1

    Kali Linux安装 下载 在Kali官网下载Kali Linux 64 Bit版本 打开VM,选择文件->新建虚拟机,一直点击下一步,注意这里选择稍后安装操作系统 版本中找不到Kali,可 ...

  8. fzyzojP1876 天津——泥人张

    思路一: 考虑lucas定理,mod 4意义下,每一个组合数都不能是0 所以,把n变成四进制数,然后数位dp即可 f[i][0/1][0/1/2/3]表示,前i位,有没有限制,mod 4 的值是0/1 ...

  9. Java虚拟机性能监控与调优

    1 基于JDK命令行工具的监控 1.1 JVM的参数类型 1.1.1 标准参数 在JVM的各个版本基本上保持不变,很稳定的. -help -server -client -version -showv ...

  10. Centos6.7在VMware7.0上的hgfs文件共享

    站在各大巨人的肩膀上.总结如下: 1,设置虚拟机共享 虚拟机->setting->options->Shared Folders->Always Enable mount -t ...