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等,就要考虑存储的顺序了.注意字节序是硬件层面的东西,对于软件来说通常是透明的.再说 ...
随机推荐
- Java多线程(三) —— 线程并发库之总体架构
对java并发库一直觉得很神秘,决定好好研究一下. 参考文献: https://blog.csdn.net/hp910315/article/details/50963095 http://www.b ...
- STM32标准外设库、 HAL库、LL库
工作以来一直使用ST的STM32系列芯片,ST为开发者提供了非常方便的开发库.到目前为止,有标准外设库(STD库).HAL库.LL库 三种.前两者都是常用的库,后面的LL库是ST最近才添加,目前支持的 ...
- Js数组和字符串常用方法
字符串: 1.concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串. 2.indexOf() – 返回字符串中一个子串第一处出现的索引.如果没有匹配项,返回 -1 . 3.ch ...
- python 查看与更换工作目录
1. 进入python控制台 2. 查看工作路径,需要导入os包: import os 3. 查看工作路径的命令: os.getcwd() 4. 修改工作路径的命令: os.chdir("d ...
- QML——添加自定义模块
一.模块的定义 在使用QML时,我们常常看到类似这样的语句: import QtQuick 2.0 import QtSensors 5.0 通过这些import语句,我们就能使用QML中的相关控件了 ...
- 【开发工具IDE】eclipse的SVN提交忽略target等多余文件
这个build失败的解决方案就是不要把你项目的 target目录放在src repository 里面,还有 .project 和 .classpath最好也别放到src repository 里. ...
- 转载manifold learning一篇
我恨自己不干活儿,不过也没辙. 早晚要学习流形的,今天先转一篇文章,以后找不到就尿了. 我真羡慕数学系的人,╮(╯▽╰)╭. 发信人: Kordan (K&M), 信区: AI标 题: do ...
- P2144 [FJOI2007]轮状病毒
题目描述 轮状病毒有很多变种.许多轮状病毒都是由一个轮状基产生.一个n轮状基由圆环上n个不同的基原子和圆心的一个核原子构成.2个原子之间的边表示这2个原子之间的信息通道,如图1. n轮状病毒的产生规律 ...
- Java 信号量 Semaphore 介绍
Semaphore当前在多线程环境下被扩放使用,操作系统的信号量是个很重要的概念,在进程控制方面都有应用.Java 并发库 的Semaphore 可以很轻松完成信号量控制,Semaphore可以 ...
- 为什么家里的宽带的IP显示的是外地?
作者:NightCoffee链接:https://www.zhihu.com/question/22547945/answer/21734955来源:知乎著作权归作者所有.商业转载请联系作者获得授权, ...