首页 > 其他分享 >B/S和C/S的区别和联系

B/S和C/S的区别和联系

时间:2023-12-25 22:34:44浏览次数:44  
标签:浏览器 联系 区别 用户 架构 服务器 交互 客户端

1 B/S

B/S(Brower/Server)架构,也称为B/S结构或B/S模式,是Web兴起后的一种网络结构模式。在这种模式下,Web浏览器成为客户端最主要的软件。系统功能实现的核心部分被集中到服务器上,这简化了系统的开发、维护和使用。客户机上只需要安装一个浏览器,而服务器上则安装了SQL Server、Oracle、MySQL等数据库。浏览器通过Web Server与数据库进行数据交互。

B/S和C/S的区别和联系_应用场景

  • B/S架构的分层包括:
  • 第一层表现层:主要完成用户和后台的交互及最终查询结果的输出功能。
  • 第二层逻辑层:主要是利用服务器完成客户端的应用逻辑功能。
  • 第三层数据层:主要是接受客户端请求后独立进行各种运算。
  • B/S架构的优点包括:
  • 客户端无需安装,只要有Web浏览器即可。
  • B/S架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。
  • B/S架构无需升级多个客户端,升级服务器即可。可以随时更新版本,而无需用户重新下载。
  • B/S架构的缺点包括:
  • 在跨浏览器上,B/S架构的表现可能不尽如人意。
  • 想要达到C/S程序的程度需要花费不少精力。
  • 在速度和安全性上需要花费巨大的设计成本,这是B/S架构的最大问题。
  • 客户端服务器端的交互是请求-响应模式,通常需要刷新页面,这并不是客户乐意看到的。(在Ajax风行后此问题得到了一定程度的缓解)
  • 总的来说,B/S架构是一种将系统功能实现的核心部分集中到服务器中的网络架构模式,通过浏览器即可运行而不需要安装其他客户端。
  • 应用场景
  • 移动办公:在办公室内移动的时候可以使用任何一台电脑办公,而传统的OA是每台电脑对应指定的用户,别的用户不能使用该电脑,而且还需要安装调试软件,相当不方便。回家或离开办公室或出差到其他地方只要有可以上网的电脑也可以使用办公系统。分公司可以通过互联网、专线、电话网等连接使用资源共享,协同办公。
  • 系统整合:无论是办公自动化管理系统,人力资源管理系统,客户关系管理系统,ERP等等,发展的趋势是不断融合,采用统一的B/S结构开发的产品无论是现在还是将来都是最好的选择。

2 C/S

C/S架构(Client/Server,客户端-服务器)是一种网络架构模式,应用程序被分为客户端和服务器两部分。客户端负责用户界面和用户交互,而服务器负责业务逻辑和数据处理。这种架构的特点包括高性能、灵活性、可扩展性等。

B/S和C/S的区别和联系_客户端_02

C/S架构的优势包括:

  • 客户端可以进行本地处理,减轻服务器的负担,提供更好的用户体验和更高的性能。 可以支持离线工作。
  • C/S架构适用于需要高性能、复杂数据处理和大规模并发的应用场景,如桌面应用、游戏等。
  • C/S架构也存在一些缺点和挑战,例如需要安装客户端软件,维护成本高,安全性难以保证等。此外,由于客户端的不同操作系统和硬件环境,开发和测试成本也可能较高。
  • C/S架构的一个重要特征是可扩展性,可以水平或垂直缩放。水平扩展意味着添加或删除客户端,工作站只会对性能产生轻微影响。垂直扩展意味着迁移到更大更快的服务器计算机或多服务器中。
  • 此外,C/S架构的发展趋势包括云化和集成化、前后端分离、移动化和响应式设计、安全性和可靠性以及可视化和交互性等。这些趋势有助于提高系统的可扩展性、可维护性和安全性,并提高应用程序的用户友好性和易用性。

3 B/S和C/S区别

  1. 硬件环境:C/S通常建立在专用的网络上,如局域网,而B/S则建立在广域网之上,不必是专门的网络硬件环境,例如电话上网或租用设备,只要有操作系统和浏览器即可。
  2. 信息流:C/S程序的信息流一般是典型的中央集权的机械式处理,交互性相对较低。相反,B/S的信息流向可以变化,如B-B、B-C、B-G等,更像交易中心。
  3. 处理问题:C/S程序可以处理用户面固定,并且在相同区域,安全要求高的需求,与操作系统相关,应都是相同的系统。而B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法做到的。
  4. 用户接口:C/S程序多建立在Windows平台上,表现方法有限,对程序员普遍要求较高。而B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流,并且大部分难度降低,减低开发成本。
  5. 对安全要求:C/S一般面向相对固定的用户群,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜。可以通过B/S发布部分可公开信息;B/S建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群。
  6. 对程序架构:C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑;B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上。

4 B/S和C/S联系

B/S和C/S的区别和联系_应用场景_03

  1. 交互性:无论是B/S还是C/S架构,都涉及到客户端与服务器之间的交互。在C/S架构中,客户端负责发送请求和接收响应,而服务器处理这些请求并返回响应。在B/S架构中,交互过程类似,但通过Web浏览器作为客户端与服务器进行交互。
  2. 事务处理:在C/S架构中,客户端和服务器均会分担一部分事务处理功能。而在B/S架构中,主要的事务逻辑由服务器处理。
  3. 安全测试:在安全性方面,C/S架构可以使用多种网络协议,甚至可以自定义协议,因此其安全性是有保障的。而B/S架构使用http协议,虽然最新的https协议在安全性方面有所提升,但还是弱于C/S。
  4. 配置测试:在配置测试方面,C/S架构的客户端需要进行安装和卸载测试,而B/S架构则无需安装,但要针对不同核心的浏览器进行兼容测试。
  5. 应用场景:两种架构各有适用的应用场景。C/S适用于用户面固定,安全要求高且操作系统相同的情况;而B/S则适用于广域网上的不同用户群和分散地域的应用场景。

标签:浏览器,联系,区别,用户,架构,服务器,交互,客户端
From: https://blog.51cto.com/u_16399301/8972866

相关文章

  • 依赖注入容器 perRequest(Transient)和Singleton区别
    在CM框架中,"perRequest"和"Singleton"都是生命周期配置选项,用于指示对象的创建和共享方式。它们之间的区别在于对象实例的生命周期和共享方式。对于"perRequest"(有时被称为"Transient"):对象的实例在每个请求处理期间只创建一次,并在同一个请求内共享。每个请求都有自己的对象实例,不......
  • python测试框架unittest和pytest区别
    一、用例编写规则(1)unittest提供了testcases、testsuites、testfixtures、testrunner相关的类,让测试更加明确、方便、可控。使用unittest编写用例,必须遵守以下规则:测试文件必须先importunittest测试类必须继承unittest.TestCase测试方法必须以“test_”开头测试类必须要有un......
  • ncnn的blob_vkallocator、workspace_vkallocator、staging_vkallocator区别
    ncnn::Extractor中有三个成员函数:voidset_blob_vkallocator(VkAllocator*allocator);voidset_workspace_vkallocator(VkAllocator*allocator);voidset_staging_vkallocator(VkAllocator*allocator);blob_vkallocator是一个用于blob数据的分配器,它可以为一些长期存储......
  • SMT贴片和后焊的区别?
    电子制造业中,SMT贴片和后焊是两种常见的表面组装技术。虽然它们都是用于焊接电子元件的方法,但是它们在工艺和应用方面存在一些显著的区别。本文由英特丽介绍smt贴片加工和后焊的区别,帮助这个行业的人更好地理解它们有什么差异。SMT贴片介绍SMT它是一种在pcb表面直接安装电子元件的......
  • 等保备案和等保测评有区别吗?APP不做等保测评可以吗?
    等保全名叫做信息安全等级保护,顾名思义就是指根据信息系统在国家安全、社会稳定、经济秩序和公共利益方便的中重要程度以及风险威胁、安全需求、安全成本等因素,将其划分不同的安全保护等级并采取相应等级的安全保护技术、管理措施、以保障信息系统安全和信息安全。等保备案和等保测......
  • C# Action 和 Func 区别
    C#Action和Func区别 前言:1.委托是一个类,定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递。  把一个参数类型返回值相同方法名不同的方法当变量的方法叫委托。为了实现程序的六大设计中的开闭原则:解耦,对修改关闭,对扩展开放。逻......
  • WEB服务器、应用程序服务器、HTTP服务器有何区别?
    WEB服务器、应用程序服务器、HTTP服务器有何区别?IIS、Apache、Tomcat、Weblogic、WebSphere都各属于哪种服务器,这些问题困惑了很久,今天终于梳理清楚了:    Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL。与客户端的网络浏览器配合。因为......
  • oracle中排序分析函数row_number()、rank()、dense_rank() 的区别
    row_number()产生的序号不会重复,即1、2、3...rank()产生的序号会重复,但是会跳号,出现1、2、2、4...的情况dense_rank()产生的序号会重复,不会跳号,会出现1、2、2、3的情况而普通的rownum是一个伪列,与你的orderby是没有关系的SELECTrow_number()over(ORDERBYac.check_number......
  • 安全认证 | CISP CISAW区别是什么?CISSP和CISP哪个含金量高?
    CISP、CISAW和CISSP都是重要的信息安全认证,它们在各自的领域内都具有很高的价值。那么,CISP、CISAW区别是什么?CISSP和CISP哪个含金量高?下面就来了解下吧。01CISPCISAW区别是什么?一、认证机构与涵盖方向★CISP:国家注册信息安全专业人员(CertifiedInformationSecurityProfession......
  • Flutter中 关于package:flutter/cupertino.dart和package:flutter/material.dart的区
    import'package:flutter/cupertino.dart';和import'package:flutter/material.dart';这两个语句分别用于导入Flutter框架中的不同部分,而且它们通常用于创建不同风格的用户界面。1.import'package:flutter/material.dart';:这是导入Material部分的语句,Material是一种设计......