前一段时间已经结束了C/S的学习,開始了B/S的旅程,那么为什么我们要学习这两个,这两个有什么差别呢?这些差别你知道多少呢?

B/S结构。即Browser/Server(浏览器/server)结构。是随着Internet技术的兴起。对C/S结构的一种变化或者改进的结构。

在这样的结构下,用户界面全然通过WWW浏览器实现,一部分事务逻辑在前端实现。可是主要事务逻辑在server端实现,形成所谓3-tier结构。

B/S结构。主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器  
就实现了原来须要复杂专用软件才干实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部。这样的结构更成为当今应用软件的首选体系结构。

C/S结构,即Client/Server(客户机/server)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,减少了系统的通讯开销。能够充分利用两端硬件环境的优势。

早期的软件系统多以此作为首选设计标准。

BS/CS

C/S

B/S

硬件环境

局域网。专门server

广域网。不必专门硬件环境

安全要求

服务端。client

仅仅注重服务端安全

程序架构

安全以及訪问速度多重考虑

注重流程,对执行速度考虑少

软件重用

不可避免的多重性考虑

要求构件独立的功能,能较好重用

系统维护

因为总体考虑,升级难,可能做一个全新系统

构件组成。方便更换。系统维护开销最小

处理问题

处理用户面固定,同样的系统

面向不同用户群,分散地域,与操作系统关系最少

用户接口

建立在windows平台,表现方法有限。对程序猿要求高

建立在浏览器上,可跨平台。不仅应用在windows平台

信息流

典型的中央集权的机械式处理, 交互性相对低

信息流向可变化, B-B B-C B-G等信息流向的变化, 更像交易中心

B/S 模式的缺点

1.响应速度不及C/S,随着AJAX技术的发展。相比传统B/S结构软件提升一倍速度。

2.用户体验效果不是非常理想。B/S须要单独界面设计,厂商之间的界面也是千差万别,因为浏览器刷新机制,使用时有刷屏现象,好在AJAX技术解决这一难题,像用友。智赢等开发的B/S架构软件用户体验效果与C/S差点儿相同。

C/S 模式的缺点

1.仅仅适用于局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这须要我们的系统具有扩展性。这样的方式远程訪问须要专门的技术,同一时候要对系统进行专门的设计来处理分布式的数据。

2.client须要安装专用的client软件。

首先涉及到安装的工作量。其次不论什么一台电脑出问题,如病毒、硬件损坏,都须要进行安装或维护。

特别是有非常多分部或专卖店的情况。不是工作量的问题,而是路程的问题。

还有。系统软件升级时。每一台客户机须要又一次安装。其维护和升级成本非常高。

两者都有优缺点。所以我们能够依据自己的须要来选择不同的模式。而不是就去淘汰还有一方。

B/S与C/S的差别的更多相关文章

  1. ROLAP和MOLAP的概念和差别

    ROLAP和MOLAP的概念和差别OLAP(on-Line Analysis Processing)是使分析人员.管理人员或执行人员能够从多角度对信息进行快速.一致.交互地存取,从而获得对数据的更深入 ...

  2. apt-get upgarde和dist-upgrade的差别

    apt-get upgarde和dist-upgrade的差别 apt-get upgarde和dist-upgrade的差别   Debian/Ubuntu Linux都使用apt,升级时都是:  ...

  3. python与ruby的差别

    1.引用文件差别 Ruby:同一目录下的文件,如/usr/local/ruby/foo.rb与/usr/local/ruby/bar.rb两个文件.如果直接在foo.rb中 require 'bar' ...

  4. 【转】responseText,responseBody,responseXML差别

    为了做ajax的代理,研究了下服务器端的xmlhttp和客户端ajax中的xmlhttp,做了个比较 由于我一直使用JavaScript作为Asp的教本语言,所以比较起来更清楚.服务器端的xmlhtt ...

  5. 我的ORM之十二 -- 支持的数据库及差别

    我的ORM索引 支持最好的是SqlServer2005,Sqlserver2008,SqlServer2012 ,后续将支持:MySql,Sqlite,Oracle. 1.分页差别 MsSql 200 ...

  6. save与persist差别

    唯一差别: 在没提交事务情况下 save会产生insert语句,然后因为没提交事务进行回滚. 而这种情况,persist是连insert语句都不会产生.

  7. VS 2008 生成操作中各个选项的差别

    近日,在编译C#项目时经常发现有些时候明明代码没错,但就是编译不过,只有选择重新编译或者清理再编译才会不出错,本着求学的态度,搜罗了下VS2008IDE中生成操作的种类以及差别,整理如下:   内容( ...

  8. Angular 1与 Angular 2之间的一些差别

    现在在用ng1.5.8做一个项目,ng的优点和特性我就不用多说了,ng1在陆续更新到1.5/1.6后就没再推出新版本了,ng2已经面世测试很久了,如同很多系统和框架一样,每个大的版本更新都会有新特性加 ...

  9. PC互联网和移动互联网的本质差别

    网一代,我们先称为PC互联网,这大约可以从2010年作为分界,然后就是基于手机,及可穿戴的移动互联网. 在PC时代,软件都很庞大复杂,甚至客端端和网页混合,比如常见的桌面软件,Office及Photo ...

  10. MyBatis mapper文件中的变量引用方式#{}与${}的差别

    MyBatis mapper文件中的变量引用方式#{}与${}的差别 #{},和 ${}传参的区别如下:使用#传入参数是,sql语句解析是会加上"",当成字符串来解析,这样相比于$ ...

随机推荐

  1. spring---transaction(3)---源代码分析(事务的管理器PlatformTransactionManager)

    写在前面 由于实现事务功能的方式各不相同,Spring进行了统一的抽象,形成了PlatformTransactionManager事务管理器顶级接口(平台事务管理器),事务的提交.回滚等操作全部交给它 ...

  2. oracle-systemtap

    https://github.com/hatem-mahmoud/scripts https://mahmoudhatem.wordpress.com/2015/05/26/stapora-v1-0- ...

  3. Tracing mysqld Using DTrace

    http://dev.mysql.com/doc/refman/5.6/en/dba-dtrace-server.html MySQL 5.6 Reference Manual -> 5 MyS ...

  4. dubbo白名单通过filter,spring web通过拦截器或者filter即可

    在开发中,有时候需要限制访问的权限,白名单就是一种方法.对于Java Web应用,Spring的拦截器可以拦截Web接口的调用:而对于dubbo接口,Spring的拦截器就不管用了. dubbo提供了 ...

  5. numpy转换

    csv2npy cccsv=numpy.genfromtxt('/root/c.csv', delimiter = ',') buf2npy imga=numpy.frombuffer(buf,num ...

  6. [Android] Anreoid repo 切换分支

    reference : http://blog.csdn.net/lihui130135/article/details/40858885 如果已经有android仓库但是还不是最新的,想切换到And ...

  7. 【SPOJ】【1825】Free Tour 2

    点分治 点分治的例题2(本题代码结果为TLE……) 强烈谴责卡时限QAQ,T了无数次啊无数次…… 不过在N次的静态查错中倒是加深了对点分治的理解……也算因祸得福吧(自我安慰一下) TLE后的改进:每棵 ...

  8. mybatis映射文件遇到的小问题

    mybatis的映射文件插入操作时: 如果对应的属性是String类型的,那么一定要做空串的判断. 比如注册的时候,如果需要向数据库中插入一条记录时,对应的字段没有给他赋值,这个String类型的值传 ...

  9. 3D屏保: 彩色盘子

    一个彩色盘子的屏保 记得小时候在电视上看过一个科普节目,由多个颜色组成的盘子,如果快速旋转起来,会看上去是白色的.于是我就写了这个屏保程序,但发现在计算机上模拟并不是这样的. "RollPl ...

  10. 【反射】Reflect Class Field Method Constructor

    关于反射 Reflection 面试题,什么是反射(反射的概念)? 主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义 ...