JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

前端、后端,以及它们之间的那条线

每个网站其实都是两半在协作——你看得见、点得到的那一半,和在服务器上默默运转的那一半——本文讲清它们怎么分工、怎么对话。

每个网站其实都是两半

打开任何一个网站,它看起来都像是摆在你面前的一个整体。但在那层光滑的表面背后,几乎每个网站都被拆成了两个协作的半边——学会看出它们之间的那道接缝,是你成为开发者路上最大的「啊哈」时刻之一。

第一半是前端(frontend):你真正能看见、能点到的一切。按钮、颜色、文字、加载时转圈的小图标——这些都住在你的浏览器里,跑在你自己的设备上。人们说「前端」时,指的就是网站显示在屏幕上的那一部分。

第二半是后端(backend):一个跑在服务器上的程序——服务器是世界某处的另一台电脑——你永远看不到它。它干的是幕后的重活:核对你的密码、保存你的订单、取来真正的数据。前端是脸面,后端是在你看不见的地方默默运转的大脑。

店面与仓库

想象一家小店。前面是店面——明亮的橱窗、货架、亲切的柜台。顾客走进来,四处看看,指着自己想要的东西。这就是前端:为「被看到」而设计,热情、好用。它的全部任务就是好看,并让人毫不费力地提出需求。

在看不见的地方,一扇写着「员工止步」的门后面,是仓库——堆着真货的货架、保险柜、记着谁买了什么的账本。顾客从不走进去。这就是后端:它存放着贵重、敏感的东西,干着真正的活,却始终对外人锁着门。

这种拆分不是偶然——它是一种保护。你绝不会让顾客随便走进仓库、自己去开保险柜。同样地,你把真正的数据和重要的决定都放在后端,让任何访客都伸不进手去乱动。前端可以提出请求,但只有后端能真正动手。

两半之间怎么对话

那么,你浏览器里的前端需要后端手里的某样东西——比如你最近的订单列表——它该怎么要呢?它不会闯进仓库,而是去调用后端的 API:一个标签清晰的「服务柜台」,是后端有意开出来的,好让外面的世界有一条被许可的途径来提出请求。

一个 API 有许多柜台,每个柜台都有自己的地址,叫端点(endpoint)——一个像 /api/orders 的网址。你去对的端点,就像在邮局排到对的窗口:一个寄邮票,一个寄包裹。前端挑出和它需求相符的那个端点,把请求发到那里。

那么他们隔着柜台用什么语言交谈呢?几乎总是 JSON——一种整洁的文本格式,由一个个贴了标签的值组成,电脑和人都读得懂。前端发去一小段 JSON 请求,后端也用 JSON 回答。它就是双方共用、来回填写传递的那张纸条。

--- frontend asks the API at this endpoint ---
GET /api/orders

--- backend answers in JSON ---
{
  "orders": [
    { "id": 1, "item": "Tea", "price": 4 },
    { "id": 2, "item": "Mug", "price": 9 }
  ]
}
前端在 /api/orders 端点发问;后端用一段可供展示的 JSON 回应。
  1. 你在浏览器里点了「我的订单」——这是前端在响应你。
  2. 前端向后端 API 的 /api/orders 端点发出一个请求。
  3. 后端把数据收集好,用 JSON 发回来。
  4. 前端读懂那段 JSON,把你的订单画到屏幕上。

数据真正住在哪里

后端背后还有一块:数据库(database)。这里长久地存着真正的信息——每一个用户、每一笔订单、每一个密码——安稳地躺在磁盘上,哪怕服务器重启也不会丢。如果说后端是仓库,那数据库就是仓库里那个上了锁的文件柜。

关键的一点在这里:用户——以及前端——从不直接碰数据库。前端伸不进那个文件柜。它只能通过 API 客客气气地拜托后端,而由后端来决定取什么、允许什么、把什么藏起来。每个请求都要先经过后端的柜台。

为什么这么严?因为数据库装着所有人的秘密,不只是你的。如果前端能直接够到它,任何足够聪明的人都可能读到别人的密码,或者偷偷改掉价格。逼着每个请求都走后端,就等于在公众和金库之间立了一个可信的守卫。

把它串起来

现在,你能看清一个网站的整体轮廓了。前端是你浏览器里的店面——你看到、点到的一切。后端是服务器上的仓库——真正的活和真正的数据都安稳地放在那里,伸手够不着。

它们之间有一条清晰的沟通线:前端在某个命名的端点上调用后端的 API,双方来回交换整洁的 JSON 消息。后端背后坐着数据库,那个没有访客能直接打开的上锁柜子。

把这张地图记牢。随着你继续学下去,几乎每一个新话题——登录、表单、支付、实时更新——都不过是又一场跨越这两半之间同一条线的对话。一旦你看得见这条线,整个网络就开始讲得通了。