← 第 3 关 – 大师

第 7/10 课 ⏱ 20 分钟 高级版

服务器是什么,Node.js 干什么用

网站真正住在哪里、API 是什么,以及为什么第 2 级的表单没有地方发送留言。

还记得那个没有收件人的表单吗?

在第 2 级,你做了一个表单:检查留言、说谢谢……然后把留言扔掉了。没有地方保存。到目前为止,你的网站只能 分发 现成文件——不能 接收并记住 任何东西。要做到这些,需要服务器。接下来就要学怎么建它。

前端和后端

每个大型应用(Instagram、在线学校、网店)都有两半:

两半怎么说话?通过 API(Application Programming Interface)——双方约定好的地址,后端在那里回应。示例对话:

Frontend:  GET /api/messages         ("Send me all the messages.")
Backend:   [{ "name": "Grandma", "text": "Lovely website!" }]

Frontend:  POST /api/messages        ("Here's data, save it: ...")
Backend:   { "saved": true }

数据用 JSON 格式发送——长得几乎就像测验里见过的 JavaScript 对象。巧合?不是——JSON 就是 JavaScript Object Notation。它站在你这边。

这样的后端跑在哪里?

开发时,在你自己的电脑上(localhost——Vite 里见过)。上线后,在一台一直开着、一直联网的电脑上——要么租服务器的「一片」(VPS),要么用帮你打理一切的服务(Render、Railway……)。部署会在最后一课讲。

💡

那 GitHub Pages 是干什么的? 那是只给前端的托管——只分发文件,别的不做。对第 1–2 级的网站很完美(也最安全:没什么在跑,就没什么可被黑)。一旦网站要接收并记住东西——留言、报名、用户——你就需要后端。

轮到你了 💪(好奇小任务)

  1. 打开你喜欢的网站,按 F12,切到 Network 标签。刷新页面,看请求瀑布——每一行都是浏览器和服务器的一次对话。
  2. 在列表里找一个 GET 请求,以及一个返回 JSON 的(Type 列:jsonfetch)。点开看响应——你会看到页面用来搭建自己的数据。
  3. 在控制台输入下面这段,看前端自己去要数据:
fetch("https://api.chucknorris.io/jokes/random")
  .then((response) => response.json())
  .then((data) => console.log(data.value));

fetch(...) 就是 JavaScript 的「调用 API」命令。第 9 课你会用同一条命令,把表单连到自己的服务器。

检查一下: 你能用自己的话解释前端和后端的区别,知道 GET、POST 和 JSON 是什么,并在 Network 面板里见过网站怎么互相说话。下一课,你会自己建这样的服务器。

这堂课你要记住