名词解释教学工作区 · 课程 0013 · 形态 体系图 · 约 6 分钟 · 前置:无需预备课 · 相关:0014 · Kubernetes · 0016 · 静态部署与其它部署 · 2026-10-01

前端、后端、接口、数据库:四层各站哪一格,谁跟谁说话

你能做到:看到一个功能,能说清它跑在谁的机器上、产出画面还是数据、两边靠什么说话; 也能认出「分层好像消失了」其实只是边界挪了位置。

1 | 定义

这条链上四个词,从最外面到最里面各占一格。每一格先给一句正式说法,再给一句生活里的说法:

串起来一句话:前端管画面,接口管怎么说话,后端管规则,数据库管存。

2 | 这张网

顺着看,是谁求谁:

前端 画面与交互 --HTTP 请求--> 接口 约定问什么、答什么 --转交--> 后端 校验与计算 --SQL 查询--> 数据库 只存记录

反过来看,两处「谁不认谁」才是这条链真正硬的地方:

前端 --不直接查--> 数据库
数据库 --不直连--> 浏览器

把网走一遍。打开一个电商站:浏览器里的前端渲染商品列表 → 你点「下单」时前端用 fetch(浏览器自带的取数函数,见 MDN 词条)调接口 → 后端校验库存与身份 → 写进数据库 → 接口把结果交回前端,前端只改画面上那个数字。同一份接口还能被手机 App、命令行脚本、以及调用大语言模型的应用(课 0022 大语言模型)一起用,爬虫(课 0021 爬虫)拿的往往也是它 —— 前端只是接口的一种访客,不是唯一用户。

3 | 它解决什么麻烦

一块网页要同时干两件事,而这两件事的要求正好相反:

四件事合起来,答案就是把「画面」和「规则」拆到两台机器上,再给它们定一份说话的约定 —— 拆开的落点就是接口。

4 | 每一层怎么工作

5 | 每一层的代价

6 | 边界会移动的地方

分层不是画在地上的线,它会挪。四种常见情形里,边界看着消失了,其实只是换了位置站:

四种情形合起来一句话:你看到的「少了一层」,都是边界换了个位置站,不是它不存在了。定位时先问「这件事在哪个时刻、哪台机器上发生」,别照着图上的格子数。

7 | 常见误解

8 | 练习

三题自测,每题只有一个正确选项;选完立刻看到解释。

1. 把主按钮从蓝色改成绿色,这次改动的落点在哪一层?

对。颜色属于画面,归前端;这次改动不牵动接口、后端与数据库。判断标准是这块逻辑归谁管,不是改起来麻不麻烦。

2. 加一条「只有下单本人才能删自己的订单」的校验,该落在哪一层?

对。规则要放在看得见数据、又拒绝得了请求的地方,那就是后端;接口只在门口做鉴权与限流,前端做的校验改一下请求就绕过去了。

3. 按本课默认的四层走法,浏览器里的前端代码不直接连哪一层?

对。在不引入 BaaS 的默认分层里,前端只跟接口说话,要数据就请后端代查;数据库不对外开放,直连等于把记录交给访客手里的代码去读去写。第 6 节第 ④ 条那种前端直连数据库的写法(Supabase、Firebase 这类后端即服务)是例外:它靠数据库侧的权限策略兜底,不是默认四层走法。