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

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

  • 1 B/S
  • 2 C/S
  • 3 B/S和C/S区别
  • 4 B/S和C/S联系

1 B/S

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

  • 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,客户端-服务器)是一种网络架构模式,应用程序被分为客户端和服务器两部分。客户端负责用户界面和用户交互,而服务器负责业务逻辑和数据处理。这种架构的特点包括高性能、灵活性、可扩展性等。
在这里插入图片描述

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联系

在这里插入图片描述

  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则适用于广域网上的不同用户群和分散地域的应用场景。
    请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/300626.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

odoo17核心概念view5——ir_ui_view.py

这是view系列的第5篇文章,介绍一下view对应的后端文件ir_ui_view.py,它是base模块下的一个文件 位置:odoo\addons\base\models\ir_ui_view.py 该文件一共定义了三个模型 1.1 ir.ui.view.custom 查询数据库这个表是空的,从名字看…

STM32独立看门狗

时钟频率 40KHZ 看门狗简介 STM32F10xxx 内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看 门狗设备 ( 独立看门狗和窗口看门狗 ) 可用来检测和解决由软件错误引起的故障;当计数器达到给 定的超时值时,触发一个中…

HarmonyOS共享包HAR

共享包概述 OpenHarmony提供了两种共享包,HAR(Harmony Archive)静态共享包,和HSP(Harmony Shared Package)动态共享包。 HAR与HSP都是为了实现代码和资源的共享,都可以包含代码、C库、资源和配…

基于java+控件台+mysql的学生信息管理系统(含演示视频)

基于java控件台mysql的学生信息管理系统_含演示视频 一、系统介绍二、功能展示1.项目内容2.项目骨架3.数据库4.登录系统5.新增学生6.查询学生7.修改学生8.删除学生9.退出系统 四、其它1.其他系统实现五.获取源码 一、系统介绍 项目类型:Java SE项目(控制…

云计算、大数据、人工智能、物联网、虚拟现实技术、区块链技术(新一代信息技术)学习这一篇够了!

目录 云计算 一、云计算的基本概念 二、云计算的分类 (一) IaaS (二) SaaS (三) PaaS 三、云环境的分类、云计算的四种部署模式 (一)公有云 (二)私有云 (三)社区云 (四)混合云 四、云计算的特点 (一)虚拟化技术 (二)动态可扩展 (三)按需部署 (四)灵活性高 (五…

算法leetcode|94. 二叉树的中序遍历(多语言实现)

文章目录 94. 二叉树的中序遍历:样例 1:样例 2:样例 3:提示: 分析:题解:rust:go:c:python:java: 94. 二叉树的中序遍历: …

OpenCV-Python(14):图像几何变换

背景说明 图像几何变换是计算机视觉和图像处理领域中的重要技术。它通过对图像进行平移、旋转、缩放、翻转等操作,改变图像的大小、位置或方向,以实现对图像的变换和处理。 图像几何变换在很多应用中都有广泛的应用,例如: 视觉定…

【安全学习】-网络安全靶场实训演练系统建设方案

目 录 第1章需求分析 1.1建设需求 1.2建设目标与内容 第2章系统整体建设 2.1设计思想 2.2建设目标 2.3架构设计 2.4系统设计 2.4.1基础平台系统设计 2.4.2实训分系统设计 2.4.3考核分系统设计 2.4.4拓扑设计分系统设计 2.4.5模拟仿真系统设计 2.4.5.1网络仿真 …

C++ Qt开发:QItemDelegate自定义代理组件

老规矩,首先推荐好书: Qt 是一个跨平台C图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍…

【RocketMQ笔记01】安装RocketMQ消息队列运行环境

这篇文章,主要介绍如何安装RocketMQ消息队列运行环境。 目录 一、RocketMQ消息队列 1.1、下载RocketMQ 1.2、解压安装包 1.3、配置RocketMQ环境变量 1.4、修改启动脚本 1.5、启动RocketMQ (1)启动NameServer (2&#xff0…

第一届能源电子产业创新大赛太阳能光伏赛道在京顺利完成初赛评审

近日,第一届能源电子产业创新大赛太阳能光伏赛道初赛在北京顺利举行。本次太阳能光伏赛道赛事由工业和信息化部产业发展促进中心、宜宾市人民政府主办,宜宾市经济和信息化局、宜宾高新技术产业园区承办,中国国检测试控股集团股份有限公司协办…

【SpringBoot篇】解决缓存击穿问题② — 基于逻辑过期方式

🎊专栏【SpringBoot】 🍔喜欢的诗句:天行健,君子以自强不息。 🎆音乐分享【如愿】 🎄欢迎并且感谢大家指出小吉的问题🥰 文章目录 🎍什么是逻辑过期方式⭐思路🌹代码 &am…