B/S结构简介及与C/S结构的区别-程序员宅基地

技术标签: ViewUI  网络  操作系统  javascript  

B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。

  B/S结构采用星形拓扑结构建立企业内部通信网络或利用Internet虚拟专网(VPN)。前者的特点是安全、快捷、准确。后者则具有节省投资、跨地域广的优点,须视企业规模和地理分布确定。企业内部通过防火墙接入Internet,在整个网络采用TCP/IP协议。  

C/S 与 B/S 区别: 

  Client/Server是建立在局域网的基础上的,Browser/Server是建立在广域网的基础上的。 

1.硬件环境不同:

  C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务。

  B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例如电话上网, 租用设备, 信息自己管理, 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行。

2.对安全要求不同 

  C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强。 一般高度机密的信息系统采用C/S 结构适宜, 可以通过B/S发布部分可公开信息。

  B/S 建立在广域网之上, 对安全的控制能力相对弱, 面向是不可知的用户群。
 
3.对程序架构不同 

  C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑。

  B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上。 比C/S有更高的要求,B/S结构的程序架构是发展的趋势, 从MS的.Net系列的BizTalk 2000 Exchange 2000等, 全面支持网络的构件搭建的系统。 SUN 和IBM推的JavaBean 构件技术等,使B/S更加成熟。
 
4.软件重用不同

  C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好。

  B/S 对的多重结构,要求构件相对独立的功能。 能够相对较好的重用。就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。
 
5.系统维护不同 

  系统维护是软件生存周期中,开销大,相当重要

  C/S 程序由于整体性,必须整体考察,处理出现的问题以及系统升级难, 可能是再做一个全新的系统。

  B/S 构件组成方面构件个别的更换,实现系统的无缝升级。 系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。 

6.处理问题不同 

  C/S 程序可以处理用户面固定,并且在相同区域, 安全要求高的需求,与操作系统相关, 应该都是相同的系统。

  B/S 建立在广域网上, 面向不同的用户群,分散地域, 这是C/S无法作到的,与操作系统平台关系最小。 

7.用户接口不同 

  C/S 多是建立在Window平台上,表现方法有限,对程序员普遍要求较高。

  B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流, 并且大部分难度减低,降低开发成本。

8.信息流不同 

  C/S 程序一般是典型的中央集权的机械式处理,交互性相对低。

  B/S 信息流向可变化, B-B、 B-C、 B-G等信息流向的变化, 更象交易中心。

相关:http://software.ccidnet.com/pub/article/c379_a27157_p1.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33754065/article/details/86140212

智能推荐

矩阵分解相关理论和算法代码链接_fixed point and bregman iterative methods for matr-程序员宅基地

文章浏览阅读2.1k次,点赞2次,收藏7次。http://www.cvchina.info/2011/09/05/matrix-factorization-jungle/按,原文见美帝的法国貌似是美法混血的有心人士(此有心人士长期从事航天飞机研究。。汗。。)收集了市面上的矩阵分解的几乎所有算法和应用,由于源地址在某神秘物质之外,特转载过来,源地址Matrix Decompositions has a long h_fixed point and bregman iterative methods for matrix rank minimization 代码

Spark Jdbc报NullPointerException_spark nullpoint-程序员宅基地

文章浏览阅读2.2k次。问题描述:运行使用Spark Jdbc读取postgresql程序报错:Exception in thread "main" java.lang.NullPointerExceptionat java.util.Hashtable.put(Hashtable.java:460)at java.util.Properties.setProperty(Properties.java:166)at org.apache.spark.sql.execution.datasources.jdbc_spark nullpoint

【Qt】QTabWidget隐藏某一tab_qtabwidget隐藏tab-程序员宅基地

文章浏览阅读4.6k次,点赞10次,收藏33次。【Qt】QTabWidget隐藏某一tab首先,调用QTabWidget的 QTabWidget::setTabEnabled(int index, bool enable) 接口将需要隐藏的tab使能关闭;ui->tabWidget->setTabEnabled(7, false);此时,界面中的tab项点击没反应,但是还是可以看到。因为Qt没有直接将tab隐藏的接口,因此,我们借助QSS完成余下的工作。QTabBar::tab:disabled { width: _qtabwidget隐藏tab

LWIP中NETCONN接口编程(上)_netbuf结构体-程序员宅基地

文章浏览阅读1.2k次。netbuf结构体LWIP为了更好描述应用线程发送接收的数据,并且为了更好管理这些数据的缓冲区,LWIP定义了一个netbuf结构体,它是基于pbuf上更高一层的封装,记录了主机的ip地址与端口号,端口号对应的就是应用线程,在接收的时候,应用程序肯定需要知道到底是谁发送数据给自己,而在发送的时候,应用程序需要将自己的端口号与IP地址填充到netbuf结构体对应字段中.netbuf结构体1..._netbuf结构体

攻防世界之Web_python_template_injection (web进阶)_攻防世界web_python_template_injection-程序员宅基地

文章浏览阅读1.9k次。考点为模板漏洞及其利用。_攻防世界web_python_template_injection

div阻止点击穿透+实现点击穿透_div 穿透-程序员宅基地

文章浏览阅读5.2w次,点赞16次,收藏40次。div阻止点击穿透+实现点击穿透_div 穿透

随便推点

J-Link软件和文档包的版本发行说明(2)[V4.96 ~ V6.12j版本]_coresight_corebaseaddr-程序员宅基地

文章浏览阅读4.9k次。官方链接:https://www.segger.com/downloads/jlink/ReleaseNotes_JLink.html版本V6.12j(2017-02-15)指挥官SETB指令未正确反汇编。固定。动态链接库添加了新的exec命令,该命令允许指定要使用的核心索引。语法:“ SetCoreIndex <CoreIndex>”。 通过JLinkDevices.xml添加的设备的闪存大小未在设备选择对话框中正确显示。固定。 在特殊情况下,即使跟踪数据正确,在Cort_coresight_corebaseaddr

C++ DirectD2D:绘制简单图形rectangle、round rectangle、ellipse、triangle、circle、line_roundrectangle-程序员宅基地

文章浏览阅读842次。C++ DirectD2D第一章 绘制简单图形rectangle、round rectangle、ellipse、triangle、circle、line文章目录目录C++ DirectD2D文章目录前言一、头文件引用二、头文件声明三、绘制处理总结前言左上角关注小编不迷路!QQ:1245688904提示:以下是本篇文章正文内容,下面案例可供参考一、头文件引用#pragma comment (lib,"D2d1.lib")#in.._roundrectangle

Redis使用cmd进入执行命令界面_cmd 进入redis-程序员宅基地

文章浏览阅读2.2w次。第一种方法://启动redis的命令C:\redis &gt;redis-server.exe redis.windows.conf再打开另外一个cmd//打开输入redis命令的界面C:\redis &gt;redis-cli.exe -h 127.0.0.1 -p 6379127.0.0.1:6379&gt;set myKey abcOK127.0.0.1:6379&gt;g..._cmd 进入redis

Halcon|读取3D相机点云数据_halcon读取点云-程序员宅基地

文章浏览阅读2.6w次,点赞23次,收藏178次。Halcon|读取3D相机点云数据最近发现很多小伙伴在使用Halcon处理3D工业相机扫描结果的时候遇到了“如何读取”的问题。一般的3D工业相机储存数据的格式有txt格式、tif格式、ply格式、ptx格式、bin格式、obj格式等。txt格式读取.txt文件生成3D模型一般需要分析.txt文件的储存格式,下图是我使用的工业相机储存的部分txt数据:经过分析,前3列为X、Y、Z坐标,第4..._halcon读取点云

win mac 双系统 opencore 硬盘引导_奶白MacOS+WIN 10双系统主机安装记录-程序员宅基地

文章浏览阅读3.8k次。暑假地时候就计划要组装一台MacOS+WIN 10双系统纯白主机,折腾了三个月,终于完美完成了主机的安装。配置单:处理器:Intel i7-10700K主板:七彩虹CVN Z490 GAMING FROZEN V20显卡:影驰 RTX2080 super HOF名人堂散热器:ID-COOLING AURAFLOW X 360 SNOW内存:七彩虹CVN DDR4 3200 8G×2硬盘:希捷酷玩5..._opencore引导win10

数学建模【数据处理方法(一维、二维插值方法;数据拟合方法;插值and拟合的MATLAB实现)】_数学建模 二维插值 题目及答案-程序员宅基地

文章浏览阅读2.7w次,点赞62次,收藏452次。3.1 一维插值方法1、数据处理的应用背景2、插值的基本原理3、引例3.1、引例演示4、一维插值定义5、一维插值原理6、一维插值方法6.1、拉格朗日插值6.2、分段线性插值6.3、三次样条插值3.2 二维插值方法1、高维插值的应用背景2、二维插值的基本原理2.1、规则网格下二维插值2.2、散乱节点网格下二维插值3、插值方法3.1、最邻近插值法3.2、分片线性插值3.3、双线性插值3.3 数据拟合方法1、拟合的应用背景_数学建模 二维插值 题目及答案

推荐文章

热门文章

相关标签