一、你每天都在和后端打交道
打开微信,你看到的聊天列表、朋友圈动态、公众号文章,这些内容存在哪里?不是你手机里——换一部新手机登录微信,这些内容照样在。它们存在服务器上。
你在淘宝搜“蓝牙耳机”,页面瞬间给你列出几百个商品,它们的价格、评分、图片,是谁从海量数据里筛选出来并返回给你的?是后端程序。
你注册一个网站,填了用户名和密码,第二天还能用它登录。你的密码存在哪里?为什么下次还能用?这背后是数据库。
后端,就是你看不到、但一直在默默支撑整个应用运转的那部分。
二、前端和后端的分工:用餐厅来理解
如果你去过餐厅,就能理解前后端的分工:
- 服务员(前端):站在客人面前,负责展示菜单、记录点菜、端上菜品、结账。客人看到的一切,都是服务员在张罗。这就像浏览器里的页面——按钮、输入框、图片、动画,都是前端负责的。
- 后厨(后端):负责洗菜、切菜、炒菜、摆盘。客人看不到后厨发生了什么,但吃到的每一口菜都是后厨做的。这就像服务器上的程序——处理数据、查询数据库、计算逻辑、返回结果。
- 仓库(数据库):存放食材的地方。厨师需要什么食材,去仓库拿。这就像数据库——存用户信息、存商品数据、存订单记录。
你(用户)对服务员说“来一份蛋炒饭”,服务员去后厨下单,厨师去仓库拿鸡蛋和米饭,炒好,服务员端给你。
翻译成技术语言:用户在浏览器里点击“提交订单”按钮 → 前端发请求给后端 → 后端查数据库、处理订单、扣减库存 → 后端返回结果给前端 → 前端弹出“下单成功”。
这就是一次完整的前后端交互。
三、一个请求到底经历了什么
我们用最通俗的方式,把一个请求的完整旅程走一遍。
假设你在浏览器地址栏输入 https://www.example.com/user/123,敲回车。接下来会发生:
第 1 步:浏览器找到服务器
www.example.com 是一个域名,就像一个人的名字。但网络世界里,服务器是通过 IP 地址(一串数字)来定位的。浏览器会先去 DNS(域名系统)那里问:“www.example.com 的 IP 是多少?”DNS 回答:“是 93.184.216.34。”浏览器拿到 IP,就知道该把请求发给谁了。这个过程就像你打电话给快递员问“老王的地址是什么”,快递员告诉你“幸福小区 3 号楼 201”,然后你就知道往哪寄快递了。
第 2 步:浏览器发出请求
浏览器按照 HTTP 协议的格式,打包了一个请求报文,内容包括:
- 请求方法:GET。意思是“我要拿数据”,就像你对服务员说“我要点菜”。
- 请求路径:
/user/123。意思是“我要 ID 为 123 的那个用户的信息”。 - 请求头:一些附加信息,比如“我是 Chrome 浏览器”、“我能接受的响应格式是 JSON”。
这个报文通过互联网,经过若干路由器和交换机,最终到达了 IP 地址 93.184.216.34 的那台服务器。
第 3 步:服务器接收并处理
服务器上运行着一个后端程序(可能是 Node.js、Java、Python 等写的)。这个程序收到了请求,看了看请求路径 /user/123,知道“哦,他要查 ID 为 123 的用户”。
于是后端程序去数据库里执行了一句查询(类似 SELECT * FROM users WHERE id = 123),拿到了这个用户的数据:{ id: 123, name: '张三', age: 28, city: '上海' }。
第 4 步:服务器返回响应
后端程序把查到的用户数据打包成一个 HTTP 响应报文,内容包括:
- 状态码:200。意思是“成功,你要的数据在这里”。如果是 404,就是“没找到”。500 就是“服务器炸了”。
- 响应体:查到的用户数据,通常是 JSON 格式:
{"id":123,"name":"张三","age":28,"city":"上海"}。
这个响应报文从服务器出发,经过互联网,回到你的浏览器。
第 5 步:浏览器接收并渲染
浏览器拿到了用户数据,前端 JavaScript 代码把这些数据填充到 HTML 模板里,最终在屏幕上显示出“张三,28 岁,上海”。
这一趟旅程,就是后端最核心的工作流程:接收请求 → 处理逻辑 → 查数据 → 返回响应。
四、后端技术栈一览:你需要学什么
听完上面的流程,你可能已经猜到后端需要学哪些东西了。把它们分类来看:
1. 编程语言
后端程序是需要你自己写的。任何后端语言都能做这些事,主流的有:
- Node.js(JavaScript):对你来说最友好的选择,因为你已经会 JavaScript 了。同样的语言,既能写前端又能写后端,不需要重新学语法。
- Python:语法简洁,初学者的另一个好选择。Django 和 Flask 是两个主流框架。
- Java:大型企业最常用的后端语言,生态极其庞大,但学习曲线比前两者陡。
- Go:近年来上升很快,性能好、并发强,适合高并发场景。
因为你是从前端转过来的,这个专题会用 Node.js 来讲后端。你不需要学一门新语言,只需要学 JavaScript 在后端环境中的新用法。
2. HTTP 协议
前端和后端的“对话语言”。你需要知道:
- 请求方法(GET、POST、PUT、DELETE)各代表什么操作。
- 状态码(200、201、301、400、401、403、404、500)各代表什么含义。
- 请求头和响应头里常放什么信息。
- 请求体和响应体的数据格式(通常是 JSON)。
3. 数据库
数据需要长期保存,而不是存在变量里(程序一关变量就没了)。你需要学:
- 关系型数据库:MySQL、PostgreSQL。数据以表格形式存放,像 Excel 那样有行有列。适合大部分业务场景。
- 非关系型数据库:MongoDB、Redis。数据以其他形式存放(文档、键值对)。Redis 特别适合做缓存,让读取速度飞升。
这个专题会从文件存储讲起(让你直观感受“数据保存”这件事),然后过渡到 MySQL。
4. 框架
就像前端有 React、Vue 帮你管理页面一样,后端有框架帮你处理请求、路由、中间件这些重复性工作。Node.js 世界中最主流的是 Express,轻量、简单、上手快。我们后面会用它来写一个完整的项目。
5. 部署
代码写完了,得让它跑在云端,而不是你电脑上。你需要了解:
- 什么是服务器(一台永远开机的电脑)。
- 什么是域名、端口。
- 怎么把代码上传到服务器并让它跑起来。
- 怎么配置 HTTPS 让网站安全。
这个专题最后一篇会手把手带你部署上线。
五、本专题的学习路线
下面是为你规划好的 12 篇完整路线,每一步都踩在实处:
- 理解后端是什么(这一篇)
- 用 JavaScript 写后端——Node.js 入门:安装 Node.js,写出第一个后端程序。
- 模块系统——拆开你的代码:
require、module.exports、内置模块。 - HTTP 协议——浏览器和服务器怎么对话:请求报文、响应报文、GET 和 POST、状态码。
- 处理不同的请求——路由入门:区分 URL、处理查询参数、返回不同内容。
- 数据存在哪里——文件读写:用文件实现一个最简单的“数据库”。
- 数据库入门——MySQL 与增删改查:安装 MySQL、建表、插入、查询、修改、删除。
- 用 Node.js 连接数据库:从数据库读数据返回给前端,从前端收数据存入数据库。
- API 是什么——让前端和后端正式合作:RESTful 风格入门,设计第一个 API。
- Express 框架——让后端开发更简单:路由、中间件的概念,改写之前的代码。
- 综合实战——做一个留言板后端:完整项目,从数据库到接口,全部实现。
- 部署上线——让你的后端真正跑在云端:买服务器、部署、让前端能访问。
跟上这个路线,你就能从一个只会写前端页面的开发者,变成一个能独立搭建完整应用的人。
六、你需要准备的工具
和后端开发相关的工具很简单:
- Node.js:JavaScript 的运行时,让你能在服务器上跑 JS 代码。还没装的话,去 https://nodejs.org 下载 LTS 版本。打开终端(Windows 按 Win+R 输入 cmd,Mac 打开终端),输入
node -v,如果出现版本号(如v20.10.0),说明安装成功。 - 一个终端:后端开发大量时间在终端里敲命令。别怕,我们会从零开始用。
- VS Code:你已经用了它写前端,继续用它写后端就行。
- Postman(后面会介绍):一个测试 API 的工具,可以模拟浏览器发送请求,看后端返回了什么。
- MySQL(后面会安装):数据库软件,先不急。
如果你现在还没有安装 Node.js,请马上安装。下一篇我们要用它写出第一行后端代码。
七、先看一眼:你的第一段后端代码
不想让你等太久。下面就是一段最简短的 Node.js 后端代码。不要急着一行一行理解,先看看它长什么样:
// 引入 Node.js 内置的 http 模块
const http = require('http');
// 创建一个 HTTP 服务
const server = http.createServer(function(request, response) {
// 设置响应的状态码和内容类型
response.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' });
// 返回一段文字
response.end('你好,这是你的第一个后端程序!');
});
// 让服务监听在 3000 端口
server.listen(3000, function() {
console.log('服务已启动,在浏览器中访问 http://localhost:3000');
});
把这段代码保存为一个文件,比如 app.js。然后在终端里进入该文件所在目录,输入:
node app.js
终端会显示:服务已启动,在浏览器中访问 http://localhost:3000。
打开浏览器,在地址栏输入 http://localhost:3000,回车。你会看到页面显示:你好,这是你的第一个后端程序!
你刚刚写了一段代码,它跑在你的电脑上,扮演了“服务器”的角色。浏览器发送请求过来,你的程序接收请求并返回了一段文字。这就是后端最本质的工作。
下一篇,我们会逐行解释上面这段代码到底在干什么。
八、本篇小结
这一篇你理解了:
- 后端是什么:处理业务逻辑、操作数据库、返回数据给前端的服务器端程序。
- 前后端的分工:前端负责界面和交互,后端负责数据和逻辑。就像餐厅的服务员和后厨。
- 一次请求的完整旅程:浏览器 → DNS 解析 → HTTP 请求 → 服务器 → 数据库 → 服务器 → HTTP 响应 → 浏览器。
- 后端需要学什么:编程语言(Node.js)、HTTP 协议、数据库、框架、部署。
- 你写出了第一段后端代码:一个 10 行的 HTTP 服务,跑在你自己的电脑上,能通过浏览器访问。
后端没有想象中那么神秘。从下一篇开始,我们正式进入 Node.js 的世界,逐行拆解代码,从零开始搭建你的后端能力。
下一篇预告
下一篇——《用 JavaScript 写后端——Node.js 入门》:安装 Node.js、理解 node 命令的作用、逐行拆解第一段后端代码的每个部分、动手修改它并观察变化。
后端零基础入门,每周更新。













暂无评论内容