本节摘要:后端开发的"世界观"——服务器、客户端、请求与响应、前后端分工。本节用"餐厅"类比讲清这些概念,并回答一个入门者最常问的问题:后端到底在做什么?
阅读完本节,你应当能够:
把 Web 应用想成一家餐厅:前端是"大堂"(点餐的菜单、上菜的桌面),后端是"后厨"(接单、做菜、管库存),数据库是"仓库"(食材存储)。你点餐(请求),后厨做好端出来(响应)——后端就是"看不见但负责好吃"的部分。
| 部分 | 职责 | 类比 |
|---|---|---|
| 前端 | 展示与交互 | 大堂 |
| 后端 | 逻辑与数据 | 后厨 |
| 数据库 | 数据存储 | 仓库 |
💡 关键直觉:后端不负责"好看",负责"正确"——数据对不对、逻辑对不对、安全不安全,都是后端的活。把"后厨"做好,前端才端得出好菜。
收请求:接收客户端的请求 做逻辑:处理业务规则 管数据:读写数据库 返结果:按约定返回响应
学任何后端框架,都带着同一组问题:
| 问题 | 对应职责 |
|---|---|
| 请求怎么进来? | 路由 |
| 逻辑写在哪? | 控制器 |
| 数据怎么存取? | 数据层 |
| 结果怎么返回? | 响应 |
能用自己的话解释"用户点了一个按钮,背后发生了什么"——从点击到数据返回的完整链路,就是后端的基础认知。
⚠️ 常见误区:以为"后端 = 写接口"。接口只是入口,真正的后端工作在后厨——逻辑、数据、安全、性能,接口只是露出的冰山一角。
概念清楚了,下一节搭台子——开发环境。
Q1:后端和前端的边界到底在哪?
一句话:凡是"用户能直接看到、摸到"的,归前端;凡是"用户看不见但决定结果是否正确"的,归后端。页面布局、按钮交互是前端;登录校验、订单计算、库存扣减、数据存储是后端。有些活两边的边界会模糊(比如表单校验前后端都会做),但记住原则:最终的数据正确性必须由后端保证,前端校验只是用户体验的优化。
Q2:服务器是一台真实的电脑吗?
可以是,但更常见的是一台运行在机房或云上的服务器系统——它仍然是一台电脑,只是你远程访问、不直接碰它。一台服务器可以同时跑多个应用(每个应用监听不同端口)。现在主流做法是容器化(Docker),把应用打包成镜像跑在服务器上,一台服务器可以跑很多个小实例。
Q3:浏览器输入网址后到底发生了什么?
用后端视角看,大致五步:第一步,浏览器解析域名,找到服务器的地址;第二步,浏览器向服务器发起请求,带上路径和参数;第三步,服务器收到请求,路由到对应的处理逻辑;第四步,逻辑可能需要读写数据库,最后把结果拼成响应;第五步,浏览器收到响应,渲染成页面。前端看到的只是第一步和第五步,中间三步全是后端的工作。
Q4:一次点击背后,后端做了几件事?
以"点下单按钮"为例:后端至少要做四件事——校验用户是否登录、校验订单数据是否合法、把订单写入数据库、返回下单成功的结果。如果中间任何一步失败,都要保证不会产生"扣了钱但没下单"的半截状态,这引出了第 7 章会讲的事务概念。理解"一次点击背后有四次数据库访问",你才真正明白后端不是"写个接口"那么简单。
学习本节时,建议对照真实网站做一次"请求侦探"练习:打开一个你常用的网站,按 F12 打开开发者工具,切到网络面板,刷新页面,随便点一个请求,观察它的方法(一般是 GET)、地址、状态码(200 表示成功)、返回的数据类型。你会发现本节讲的所有概念,都能在浏览器里找到对应物。这个练习比背定义有用得多,能帮你把"抽象的后端"变成"看得见的后端"。