网页、管理系统、在线工具几乎都构建在 B/S 架构之上。它凭借跨平台、易维护、低成本的优势,成为互联网时代应用开发的主流范式。本文将探讨 B/S 架构的核心概念、架构原理、技术栈选型到实战案例。
一、B/S 架构是什么?定义与核心特征
B/S 架构,全称 Browser/Server(浏览器/服务器)架构,是一种基于互联网的分布式计算架构。它的核心逻辑是:客户端仅需安装浏览器,所有业务逻辑、数据存储、计算处理均在服务器端完成,浏览器通过 HTTP/HTTPS 协议与服务器交互,实现数据的请求与展示。
1.1 与 C/S 架构的核心区别
为了更清晰理解 B/S 架构的优势,我们可以对比它的'前辈'——C/S(Client/Server,客户端/服务器)架构:
| 对比维度 | B/S 架构 | C/S 架构 |
|---|---|---|
| 客户端要求 | 仅需浏览器,无需安装专用软件 | 需安装定制客户端程序 |
| 跨平台性 | 极佳,Windows、Mac、Linux、移动端浏览器均可访问 | 较差,不同系统需开发对应客户端 |
| 维护成本 | 低,仅需维护服务器端 | 高,需同时维护服务器和多个客户端版本 |
| 部署方式 | 服务器端部署后,客户端'零部署',刷新即可用 | 需逐个客户端安装、升级 |
| 适用场景 | 互联网公开应用(博客、电商、官网)、轻量级管理系统 | 局域网高交互应用(ERP、游戏客户端、工业控制软件) |
1.2 B/S 架构的核心特征
瘦客户端,胖服务器 客户端(浏览器)只负责界面渲染、用户交互,不承担复杂计算;服务器端负责数据存储、业务逻辑处理、权限控制等核心工作,是整个架构的'大脑'。
- 基于标准协议通信:浏览器与服务器之间通过 HTTP/HTTPS 协议通信,遵循请求 - 响应模型:客户端发送请求(如 GET 获取数据、POST 提交表单),服务器处理后返回响应(HTML 页面、JSON 数据等)。
- 无状态性:HTTP 协议本身是无状态的,服务器不会记住客户端的历史请求。为了实现用户登录状态保持、购物车等功能,衍生出 Cookie、Session、Token 等状态管理技术。
二、B/S 架构的三层架构模型
实际开发中,B/S 架构通常采用三层架构设计,通过分层解耦,提升代码的可维护性、可扩展性。三层架构从上到下依次为:
2.1 表现层(Presentation Layer)
- 作用:直接与用户交互,负责数据的展示和用户指令的接收。
- 核心技术:HTML、CSS、JavaScript、Vue、React、Angular 等前端框架。
- 职责边界:不处理业务逻辑,仅将服务器返回的数据渲染成页面,或将用户输入的信息封装后发送给服务器。
- 示例:用户在浏览器输入账号密码点击登录 → 前端校验格式后,通过 Axios 发送 POST 请求到服务器。
2.2 业务逻辑层(Business Logic Layer)
- 作用:架构的核心,负责处理业务规则、数据校验、权限判断等逻辑。
- 核心技术:Java(Spring Boot)、Python(Django/Flask)、Go(Gin)、Node.js(Express)等后端开发语言/框架。
- 职责边界:接收表现层的请求,调用数据访问层获取数据,执行业务逻辑处理后,将结果返回给表现层。
- 示例:服务器接收到登录请求 → 业务逻辑层校验账号密码是否正确 → 生成登录 Token → 返回给前端。

