一:从零开始,理解后端是什么

一、你每天都在和后端打交道

打开微信,你看到的聊天列表、朋友圈动态、公众号文章,这些内容存在哪里?不是你手机里——换一部新手机登录微信,这些内容照样在。它们存在服务器上。

你在淘宝搜“蓝牙耳机”,页面瞬间给你列出几百个商品,它们的价格、评分、图片,是谁从海量数据里筛选出来并返回给你的?是后端程序

你注册一个网站,填了用户名和密码,第二天还能用它登录。你的密码存在哪里?为什么下次还能用?这背后是数据库

后端,就是你看不到、但一直在默默支撑整个应用运转的那部分。

二、前端和后端的分工:用餐厅来理解

如果你去过餐厅,就能理解前后端的分工:

  • 服务员(前端):站在客人面前,负责展示菜单、记录点菜、端上菜品、结账。客人看到的一切,都是服务员在张罗。这就像浏览器里的页面——按钮、输入框、图片、动画,都是前端负责的。
  • 后厨(后端):负责洗菜、切菜、炒菜、摆盘。客人看不到后厨发生了什么,但吃到的每一口菜都是后厨做的。这就像服务器上的程序——处理数据、查询数据库、计算逻辑、返回结果。
  • 仓库(数据库):存放食材的地方。厨师需要什么食材,去仓库拿。这就像数据库——存用户信息、存商品数据、存订单记录。

你(用户)对服务员说“来一份蛋炒饭”,服务员去后厨下单,厨师去仓库拿鸡蛋和米饭,炒好,服务员端给你。

翻译成技术语言:用户在浏览器里点击“提交订单”按钮 → 前端发请求给后端 → 后端查数据库、处理订单、扣减库存 → 后端返回结果给前端 → 前端弹出“下单成功”

这就是一次完整的前后端交互。

三、一个请求到底经历了什么

我们用最通俗的方式,把一个请求的完整旅程走一遍。

假设你在浏览器地址栏输入 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 篇完整路线,每一步都踩在实处:

  1. 理解后端是什么(这一篇)
  2. 用 JavaScript 写后端——Node.js 入门:安装 Node.js,写出第一个后端程序。
  3. 模块系统——拆开你的代码requiremodule.exports、内置模块。
  4. HTTP 协议——浏览器和服务器怎么对话:请求报文、响应报文、GET 和 POST、状态码。
  5. 处理不同的请求——路由入门:区分 URL、处理查询参数、返回不同内容。
  6. 数据存在哪里——文件读写:用文件实现一个最简单的“数据库”。
  7. 数据库入门——MySQL 与增删改查:安装 MySQL、建表、插入、查询、修改、删除。
  8. 用 Node.js 连接数据库:从数据库读数据返回给前端,从前端收数据存入数据库。
  9. API 是什么——让前端和后端正式合作:RESTful 风格入门,设计第一个 API。
  10. Express 框架——让后端开发更简单:路由、中间件的概念,改写之前的代码。
  11. 综合实战——做一个留言板后端:完整项目,从数据库到接口,全部实现。
  12. 部署上线——让你的后端真正跑在云端:买服务器、部署、让前端能访问。

跟上这个路线,你就能从一个只会写前端页面的开发者,变成一个能独立搭建完整应用的人。

六、你需要准备的工具

和后端开发相关的工具很简单:

  • 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 命令的作用、逐行拆解第一段后端代码的每个部分、动手修改它并观察变化。

后端零基础入门,每周更新。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容