乐于分享
好东西不私藏

你手机里的App是怎么跟服务器「聊天」的?

你手机里的App是怎么跟服务器「聊天」的?

📖 预计阅读时间:6 分钟

你手机里的 App 是怎么跟服务器「聊天」的?

🌱 小白系列 · 每天搞懂一个技术常识

你有没有想过一个问题:你在手机上点了「刷新」,新内容就出来了。但这些内容存在哪里?又是怎么跑到你手机上的?

今天我们用点外卖的类比,把前后端交互讲得明明白白。


📱 前端 vs 后端:谁是谁?

💡 前端就是你看得见、摸得着的界面,后端就是在幕后干活的厨房。

🔄 你去餐厅吃饭。你看到的菜单、桌椅、装修 = 前端。后厨的厨师、食材仓库、炒菜流程 = 后端。

你不需要知道厨师怎么炒菜,你只管看菜单、点菜、等上菜。这就是前后端分离的核心思想——各干各的,互不干扰

🎯 你打开美团外卖 App,看到的页面、按钮、图片都是前端;你点了下单后,处理订单、通知商家、计算优惠,这些你看不到的逻辑都是后端在忙。

🔄 它们怎么「聊天」?靠的是请求和响应

💡 前端发「请求」问后端要东西,后端返回「响应」把东西给前端。

这就像你在餐厅举手叫服务员(发请求),说「来一份宫保鸡丁」,服务员转身去后厨(传达给后端),后厨做好端上来(返回响应)。

整个过程遵循一个协议,叫 HTTP——你可以理解为「餐厅的服务规范」。

🔄 HTTP 就像餐厅的点餐规则:你得先说要什么菜(请求),厨房按规则给你做(处理),最后端给你(响应)。如果你点了不存在的菜,服务员会说「没有这道菜」(404 错误)。

📦 请求里装了什么?

前端发给后端的请求,核心就 4 样东西:

URL:你要访问的地址,类似餐厅门牌号 + 菜品编号

Method(方法):你想干什么——GET 是「给我看看」,POST 是「帮我下单」

Headers(头信息):一些附加信息,比如你的会员卡号(Token)

Body(正文):具体内容,比如「我要3份,不放辣」

🎯 你在购物 App 搜「蓝牙耳机」。App 前端发了一个 GET 请求,URL 类似 api.xxx.com/search?keyword=蓝牙耳机,后端收到后去数据库找相关商品,然后把结果打包成 JSON 格式返回给前端展示。

📨 响应里装了什么?

后端返回的响应,最重要的是两样:

状态码:一个数字,告诉你结果如何

数据:你要的内容,通常是 JSON 格式

常见状态码,用餐厅来理解:

200:菜做好了,请享用 ✅

404:没这道菜 ❌

403:这道菜是 VIP 专属,你没权限 🚫

500:后厨着火了,出了内部故障 🔥

🔄 你点了菜,服务员回来说的第一句话就是状态码——「好了」(200)、「卖完了」(404)、「厨师受伤了」(500)。

⚡ 同步 vs 异步:等菜还是先逛逛?

💡 同步就是傻等,异步就是先干别的、好了通知你。

你在餐厅点完菜,有两种等法:

同步:你站在出菜口一动不动等(网页加载时的转圈圈)

异步:你拿个号回座位玩手机,好了叫号(App 的无感刷新)

现在的 App 绝大多数用异步方式。你刷朋友圈时,每条动态不是一次性全加载的,而是「你往下滑 → 前端发请求 → 后端返回新数据 → 前端展示」,这就是典型的异步加载。

🎯 你发了一条朋友圈,显示「发送中...」然后很快变成「已发布」。其实前端先异步发了请求给后端,后端处理完通知前端更新状态。如果网不好,可能会显示「发送失败」——这也是后端响应告诉前端的。

🗄️ 数据存在哪?数据库出场

💡 数据库就是后端的「超大号笔记本」,啥都往里面记。

前端是展示信息的,后端是处理逻辑的,那数据存在哪?答案是数据库

🔄 餐厅的菜单、食材库存清单、客人订单记录,全都记在一个大账本上。这个账本就是数据库。

你的微信聊天记录、淘宝订单、B 站收藏夹,全都存在各自公司的数据库里。每次你打开 App,前端向后端要数据,后端就去数据库里翻,找到了再给你。


🔐 怎么确认「你是你」?Token 的故事

💡 Token 就是你的「临时工牌」,证明你是已登录的合法用户。

你登录一个 App,输入账号密码后,后端验证通过,会给你发一个 Token(令牌)。之后你每次请求数据,前端都会带上这个 Token,后端一看——「哦,是你,放行」。

🔄 你去公司上班,门口刷工牌进入。这个工牌就是 Token。你不需要每次都重新面试证明自己是员工,刷卡就行。但工牌有有效期,过期了得重新办(Token 过期需要重新登录)。
🎯 你打开购物 App,不需要每次都登录。因为 App 里存着你上次登录拿到的 Token,每次请求自动带上。但如果你一个月没打开,Token 过期了,就需要重新登录。

🌍 一张图看懂全流程

整个前后端交互,就是这么回事:

1️⃣ 你在 App 上点了个按钮(前端触发)

2️⃣ 前端组装一个 HTTP 请求,带上 URL、方法、Token 等

3️⃣ 请求通过网络发到服务器(后端)

4️⃣ 后端收到请求,处理逻辑,查数据库

5️⃣ 后端把结果打包成响应,发回前端

6️⃣ 前端拿到数据,渲染到页面上给你看

就这 6 步,循环往复。你每次滑手机,背后都在发生无数次这样的「聊天」。


💡 今天的收获

读完这篇,你至少搞懂了 7 个关键概念:

前端 — 你看到的界面

后端 — 幕后处理逻辑的服务

HTTP — 前后端通信的规范

请求/响应 — 前后端对话的方式

状态码 — 后端的回答暗号(200/404/500)

数据库 — 后端存数据的仓库

Token — 你的临时身份证明

下次有人跟你聊「接口调不通」「后端返回 500 了」「Token 过期了」,你就能听懂在说啥了。


觉得有收获?转发给你身边那个总说「我不懂技术」的朋友 👇

💬 你平时用 App 时遇到过哪些奇怪的报错?留言聊聊,我来给你「翻译」~

如果觉得有帮助,欢迎转发给朋友 👇

有想法?评论区聊聊 💬