第一章 理解”后台”到底是什么
本章目标:搞明白前端、后端、数据库各自是什么角色,以及它们之间是怎么配合工作的。
1.1 生活中的类比
在写代码之前,我们先用一个生活中的例子来理解”后台”。
🍜 餐厅模型
想象你走进一家餐厅吃饭:
你(顾客) → 服务员 → 厨房 → 仓库
| 角色 | 对应到软件开发 | 职责 |
|---|---|---|
| 顾客 | 前端(Vue页面) | 看菜单、点菜、等上菜 |
| 服务员 | 接口(API) | 把你的需求传给厨房,把做好的菜端给你 |
| 厨房 | 后端(FastAPI) | 接收订单,处理业务逻辑(做菜) |
| 仓库 | 数据库(SQLite) | 存放食材(数据),需要时取出来用 |
你不需要知道厨房里怎么炒菜的,你只需要跟服务员说”来一碗面”,服务员就会帮你搞定一切。
这就是前后端分离的核心思想:前端不关心后端怎么处理,后端不关心前端怎么展示,它们通过”接口”沟通。
你每天都在”用后台”
- 打开微信,聊天记录从哪来的? → 微信的后台服务器
- 刷抖音,视频是从哪加载的? → 抖音的后台服务器
- 点外卖,商家列表是谁给的? → 外卖平台的后台服务器
你手机上看到的一切内容,几乎都是从后台”要”过来的。
1.2 前端 vs 后端 vs 数据库
现在用更准确的技术语言来描述:
前端(Frontend)
- 是什么:用户直接看到和操作的界面
- 技术:Vue、React、小程序、App
- 运行在:用户的浏览器 / 手机上
- 职责:展示数据、收集用户输入、发送请求给后端
后端 / 后台(Backend)
- 是什么:运行在服务器上的程序,处理业务逻辑
- 技术:FastAPI(Python)、Spring Boot(Java)、Express(Node.js)
- 运行在:服务器上(你的电脑在开发阶段也是服务器)
- 职责:接收前端请求 → 处理逻辑 → 操作数据库 → 返回结果
数据库(Database)
- 是什么:专门用来存储和管理数据的工具
- 技术:SQLite、MySQL、PostgreSQL、MongoDB
- 运行在:服务器上
- 职责:持久化存储数据(用户信息、文章内容、订单记录等)
用一张图来表示它们的关系:
┌──────────┐ HTTP请求 ┌──────────┐ 读写数据 ┌──────────┐
│ │ ──────────────────▶ │ │ ──────────────▶ │ │
│ 前端 │ │ 后端 │ │ 数据库 │
│ (Vue) │ ◀────────────────── │ (FastAPI) │ ◀────────────── │ (SQLite) │
│ │ 返回JSON │ │ 返回结果 │ │
└──────────┘ └──────────┘ └──────────┘
浏览器 服务器 服务器
1.3 一次请求的完整旅程
假设你在一个 Todo 待办应用里点击”添加任务”按钮,背后发生了什么?
完整流程(6 步)
第1步:用户在页面输入"买牛奶",点击"添加"按钮
第2步:前端(Vue)把数据打包成 JSON,发送 HTTP 请求给后端
POST http://127.0.0.1:8000/todos
请求体:{"title": "买牛奶"}
第3步:后端(FastAPI)收到请求,解析出 title="买牛奶"
第4步:后端把这条数据写入数据库
INSERT INTO todo (title, done) VALUES ("买牛奶", false)
第5步:数据库保存成功,后端构造响应数据
{"id": 1, "title": "买牛奶", "done": false}
第6步:前端收到响应,把新任务显示在页面列表中
这就是一次完整的”前端 → 后端 → 数据库 → 后端 → 前端”的请求旅程。
所有的网络应用,不管多复杂,本质上都是这个流程的不断重复。
1.4 什么是 API / 接口
API 是什么
API(Application Programming Interface)= 应用程序编程接口
听起来很高级,其实很简单:API 就是前后端之间约定好的”沟通方式”。
就像餐厅的菜单:
- 菜单上写了有哪些菜(有哪些接口)
- 每道菜多少钱(需要传什么参数)
- 上菜后长什么样(返回什么数据)
一个接口由什么组成
| 要素 | 说明 | 示例 |
|---|---|---|
| URL(地址) | 这个接口在哪里 | http://127.0.0.1:8000/todos |
| 方法(Method) | 要做什么操作 | GET(查询)/ POST(新增)/ PUT(修改)/ DELETE(删除) |
| 请求参数 | 需要传给后端的数据 | {"title": "买牛奶"} |
| 响应数据 | 后端返回给前端的数据 | {"id": 1, "title": "买牛奶", "done": false} |
HTTP 方法速记
这四个方法对应四种操作,是最核心的知识点:
| HTTP 方法 | 含义 | 生活类比 |
|---|---|---|
| GET | 获取数据 | 去图书馆借书(只是看,不改变什么) |
| POST | 新增数据 | 往图书馆捐一本新书 |
| PUT | 修改数据 | 把书名写错了,去修改登记信息 |
| DELETE | 删除数据 | 这本书不要了,从图书馆撤走 |
JSON:前后端的通用语言
前端和后端之间传递数据用的是 JSON 格式。如果你学过 Python 字典,JSON 长得几乎一模一样:
{
"id": 1,
"title": "买牛奶",
"done": false
}
为什么用 JSON?因为它简单、通用,不管前端用 Vue 还是小程序,不管后端用 Python 还是 Java,大家都看得懂 JSON。
本章小结
| 概念 | 一句话解释 |
|---|---|
| 前端 | 用户看到的界面,负责展示和交互 |
| 后端/后台 | 运行在服务器上的程序,负责处理业务逻辑 |
| 数据库 | 存储数据的地方,程序关了数据还在 |
| API/接口 | 前后端之间约定好的沟通方式 |
| HTTP方法 | GET查、POST增、PUT改、DELETE删 |
| JSON | 前后端传递数据的通用格式 |
下一章,我们就开始动手,搭建开发环境,跑起来你的第一个后台服务!