BS架构(笔记整理)

news2025/2/11 21:59:33

楔子.基本概念

1.在网络架构中:

  • 服务器通常是集中式计算资源,负责处理和存储数据;
  • 客户机是请求这些服务的终端设备,可能是个人电脑或移动设备;
  • 浏览器则是客户机上用来与服务器交互的工具,负责展示网页内容和发送请求。(是阅读和浏览Web的工具,它是通过B/S方式与Web服务器交互信息的。 一般情况下,浏览器就是客户端,它要求服务器把指定信息传送过来,然后通过浏览器把信息显示在屏幕上。 浏览器实际上是一种允许用户浏览Web信息的软件,只不过这些信息是由Web服务器发送出来的。)

一、什么是B/S架构?

1.B/S架构是软件系统体系结构,指浏览器-Web服务器(Broswer-Server),采用三层架构,即表现层、业务逻辑层、数据访问层

2.B/S结构,主要是利用了不断成熟的浏览器技术,结合了浏览器的多种Script语言(VBScript、JavaScript…)和Active技术,通过浏览器实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。B/S结构就是指安装维护一个服务器(Server),而客户端采用浏览器运行的软件。随着Windows将web浏览器技术植入操作系统内部,这种结构已经成为当今应用软件的首选结构体系。

二、什么是C/S架构?

B/S架构与传统的C/S架构有什么区别呢?C/S架构,即客户端/服务器架构,是一种分布式应用模式,将系统功能分为两层:客户端和服务器端。客户端负责用户界面和业务逻辑,服务器端负责数据存储和处理。C/S架构需要在每个客户端安装专用的软件,对网络和硬件资源的要求较高。

三、三层架构

1.通常是指将整个业务应用划分为:表现层、业务逻辑层、数据访问层。目的是高内聚,低耦合。

数据层:数据访问层,也称为持久层,是对数据的操作,而不是指存放数据的数据库,为业务逻辑层或表示层提供数据服务。简单来说就是实现对数据表的select,insert,update,delete的操作

四、B/S架构和C/S架构的优缺点

B/S架构和C/S架构各有优缺点,具体选择要根据系统的需求和环境来决定。下面我们来比较一下它们的主要特点:

  • 开发成本:B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装、零维护。系统的扩展非常容易。B/S架构的开发成本相对较低,因为可以利用现有的Web技术和工具,而且不需要考虑客户端的兼容性问题。C/S架构的开发成本相对较高,因为需要开发专门的客户端软件,并且要适应不同的操作系统和硬件环境。
  • 维护成本:B/S架构的维护成本相对较低,因为只需要升级服务器端的软件,而客户端无需安装或更新。C/S架构的维护成本相对较高,因为需要在每个客户端进行安装或更新,并且要处理各种软硬件故障。
  • 安全性:B/S架构的安全性相对较低,因为数据传输过程中容易被截取或篡改,而且客户端无法控制用户的访问权限。C/S架构的安全性相对较高,因为数据传输过程中可以采用加密或认证技术,而且客户端可以设置用户的访问权限。
  • 交互性:B/S架构的交互性相对较高,因为可以利用Web浏览器的多种脚本语言和ActiveX技术,实现动态和丰富的用户界面。C/S架构的交互性相对较低,因为客户端软件的功能和界面受限于开发工具和平台。
  • 扩展性:B/S架构的扩展性相对较高,因为可以通过增加服务器或负载均衡技术,提高系统的并发能力和可靠性。C/S架构的扩展性相对较低,因为需要考虑客户端软件的兼容性和升级问题。

综上所述,B/S架构是一种适合于Internet环境下的网络应用模式,它具有开发、维护简单,交互性强,扩展性好等优点。但是它也存在着安全性差,数据传输效率低等缺点。

五、B/S架构的几种形式

1、客户端/浏览器-服务器(web服务器+自己写的后端)-数据库
这个应该是我们平时比较常用的一种模式

(1)客户端向服务器发起Http请求
(2)服务器中的web服务层能够处理Http请求
(3)服务器中的应用层部分调用业务逻辑,调用业务逻辑上的方法
(4)如果有必要,服务器会和数据库进行数据交换. 然后将模版+数据渲染成最终的Html, 返送给客户端。

2、客户端-web服务器-应用服务器-数据库
类似于第一种方法,只是将web服务和应用服务解耦

(1) 客户端向web服务器发起Http请求

(2)web服务能够处理Http请求,并且调用应用服务器暴露在外的RESTFUL接口

(3)应用服务器的RESTFUL接口被调用,会执行对应的暴露方法.如果有必要和数据库进行数据交互,应用服务器会和数据库进行交互后,将json数据返回给web服务器

(4) web服务器将模版+数据组合渲染成html返回给客户端

3、客户端-负载均衡器(Nginx)-中间服务器(Node)-应用服务器-数据库
这种模式一般用在有大量的用户,高并发的应用中。

(1)暴露在外的不是真正web服务器的地址,而是负载均衡器器的地址
(2)客户向负载均衡器发起Http请求
(3)负载均衡器能够将客户端的Http请求均匀的转发给Node服务器集群
(4)Node服务器接收到Http请求之后,能够对其进行解析,并且能够调用应用服务器暴露在外的RESTFUL接口
(5)应用服务器的RESTFUL接口被调用,会执行对应的暴露方法.如果有必要和数据库进行数据交互,应用服务器会和数据库进行交互后,将json数据返回给Node
(6)Node层将模版+数据组合渲染成html返回反向代理服务器
(7)反向代理服务器将对应html返回给客户端

感激借鉴笔记:B/S架构_bs架构-CSDN博客

B/S架构及其运行原理_bs结构-CSDN博客

什么是B/S架构?_bs架构-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

06排序 + 查找(D2_查找(D2_刷题练习))

目录 1. 二分查找-I 1.1 题目描述 1.2 解题思路 方法:二分法(推荐使用) 2. 二维数组中的查找 2.1 题目描述 2.2 解题思路 方法一:二分查找(推荐使用) 3. 寻找峰值 3.1 题目描述 3.2 解题思路 方…

C++ 设计模式 - 访问者模式

一:概述 访问者模式将作用于对象层次结构的操作封装为一个对象,并使其能够在不修改对象层次结构的情况下定义新的操作。 《设计模式:可复用面向对象软件的基础》一书中的访问者模式因两个原因而具有传奇色彩:一是因为它的复杂性&a…

海云安开发者智能助手(D10)全面接入DeepSeek,赋能开发者安全高效编码新范式

海云安正式宣布完成与DeepSeek(深度求索)的深度技术融合,旗下核心产品D10开发者智能助手全面接入DeepSeek R1模型。此次合作标志着海云安在"AI驱动开发安全"领域实现重要突破。数据显示,通过DeepSeek R1模型的优化与蒸馏…

分布式id探索

一、为什么要使用分布式id? 随着数据量增加,数据需要进行水平拆分,但表自增id无法满足唯一性; 二、分布式id的特点 1唯一性 2 趋势递增、单调递增(数据库中存放的数据结构数据从小到大有序排列)&#xff0…

【Linux系统】—— 简易进度条的实现

【Linux系统】—— 简易进度条的实现 1 回车和换行2 缓冲区3 进度条的准备代码4 第一版进度条5 第二版进度条 1 回车和换行 先问大家一个问题:回车换行是什么,或者说回车和换行是同一个概念吗?   可能大家对回车换行有一定的误解&#xff0…

一文学会:用DeepSeek R1/V3 + AnythingLLM + Ollama 打造本地化部署的个人/企业知识库,无须担心数据上传云端的泄露问题

文章目录 前言一、AnythingLLM 简介&基础应用1.主要特性2.下载与安装3.配置 LLM 提供商4.AnythingLLM 工作区&对话 二、AnythingLLM 进阶应用:知识增强使用三、AnythingLLM 的 API 访问四、小结1.聊天模式2.本地存储&向量数据库 前言 如果你不知道Olla…

开源身份和访问管理方案之keycloak(一)快速入门

文章目录 什么是IAM什么是keycloakKeycloak 的功能 核心概念client管理 OpenID Connect 客户端 Client Scoperealm roleAssigning role mappings分配角色映射Using default roles使用默认角色Role scope mappings角色范围映射 UsersGroupssessionsEventsKeycloak Policy创建策略…

C++STL(六)——list模拟

目录 本次所需实现的三个类一、结点类的模拟实现构造函数 二、迭代器类的模拟实现为什么有迭代器类迭代器类的模板参数说明构造函数运算符的重载- -运算符的重载和!运算符的重载*运算符的重载->运算符的重载引入模板第二个和第三个参数 三、list的模拟实现3.1 默认成员函数构…

HTML5--网页前端编程(下)

HTML5–网页前端编程(下) 9.常用标签下 (1)表格标签 用来展示数据,显示数据,规整条理,可读性好 基本语法 <table><tr> <td>单元格内的文字</td> <td>单元格内的文字</td>… </tr> <tr> <td>单元格内的文字&l…

Git 分布式版本控制工具使用教程

1.关于Git 1.1 什么是Git Git是一款免费、开源的分布式版本控制工具&#xff0c;由Linux创始人Linus Torvalds于2005年开发。它被设计用来处理从很小到非常大的项目&#xff0c;速度和效率都非常高。Git允许多个开发者几乎同时处理同一个项目而不会互相干扰&#xff0c;并且在…

linux部署ollama+deepseek+dify

Ollama 下载源码 curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz sudo tar -C /usr -xzf ollama-linux-amd64.tgz启动 export OLLAMA_HOST0.0.0.0:11434 ollama serve访问ip:11434看到即成功 Ollama is running 手动安装deepseek…

torch_bmm验算及代码测试

文章目录 1. torch_bmm2. pytorch源码 1. torch_bmm torch.bmm的作用是基于batch_size的矩阵乘法,torch.bmm的作用是对应batch位置的矩阵相乘&#xff0c;比如&#xff0c; mat1的第1个位置和mat2的第1个位置进行矩阵相乘得到mat3的第1个位置mat1的第2个位置和mat2的第2个位置…

CTFHub-RCE系列wp

目录标题 引言什么是RCE漏洞 eval执行文件包含文件包含php://input读取源代码远程包含 命令注入无过滤过滤cat过滤空格过滤目录分隔符过滤运算符综合过滤练习 引言 题目共有如下类型 什么是RCE漏洞 RCE漏洞&#xff0c;全称是Remote Code Execution漏洞&#xff0c;翻译成中文…

从大规模恶意攻击 DeepSeek 事件看 AI 创新隐忧:安全可观测体系建设刻不容缓

作者&#xff1a;羿莉&#xff08;萧羿&#xff09; 全球出圈的中国大模型 DeepSeek 作为一款革命性的大型语言模型&#xff0c;以其卓越的自然语言处理能力和创新性成本控制引领行业前沿。该模型不仅在性能上媲美 OpenAI-o1&#xff0c;而且在推理模型的成本优化上实现了突破…

【学习笔记】企业数字化转型顶层设计与企业架构TOGAF9.2-第0章 导论

数据要素资产化迈入关键发展期 围绕发挥数据要素乘数作用&#xff0c;研究实施“数据要素x”行动:从供需两端发力&#xff0c;在智能制造、商贸流通、交通物流、金融服务、医疗健康等若干重点领域&#xff0c;加强场景需求牵引&#xff0c;打通流通障碍、提升供给质量&#xf…

SpringCloud - Sentinel服务保护

前言 该博客为Sentinel学习笔记&#xff0c;主要目的是为了帮助后期快速复习使用 学习视频&#xff1a;7小快速通关SpringCloud 辅助文档&#xff1a;SpringCloud快速通关 源码地址&#xff1a;cloud-demo 一、简介 官网&#xff1a;https://sentinelguard.io/zh-cn/index.h…

单片机上SPI和IIC的区别

SPI&#xff08;Serial Peripheral Interface&#xff09;和IC&#xff08;Inter-Integrated Circuit&#xff09;是两种常用的嵌入式外设通信协议&#xff0c;它们各有优缺点&#xff0c;适用于不同的场景。以下是它们的详细对比&#xff1a; — 1. 基本概念 SPI&#xff0…

03-DevOps-安装并初始化Gitlab

Gitlab可以理解为是自己搭建的GitHub&#xff0c;也就是自己的代码仓库。 开启macvlan 在192.168.1.10服务器上&#xff0c;构建Macvlan网络&#xff0c;这种网络模式可以为每个容器独立分配ip。 docker network create -d macvlan \--subnet192.168.1.0/24 \--ip-range192.16…

RabbitMQ 从入门到精通:从工作模式到集群部署实战(五)

#作者&#xff1a;闫乾苓 系列前几篇&#xff1a; 《RabbitMQ 从入门到精通&#xff1a;从工作模式到集群部署实战&#xff08;一&#xff09;》&#xff1a;link 《RabbitMQ 从入门到精通&#xff1a;从工作模式到集群部署实战&#xff08;二&#xff09;》&#xff1a; lin…

DFS+回溯+剪枝(深度优先搜索)——搜索算法

DFS也就是深度优先搜索&#xff0c;比如二叉树的前&#xff0c;中&#xff0c;后序遍历都属于DFS。其本质是递归&#xff0c;要学好DFS首先需要掌握递归。接下来咱们就一起来学习DFS涉及的算法。 一、递归 1.什么是递归&#xff1f; 递归可以这样理解把它拆分出来&#xff0…