§ 1.4 · Sub-chapter

客户端 vs 服务器篇

Client & Server

网络里,通信的双方关系不是"平等对话"——而是"一个主动提需求,一个被动响应"。提需求的叫客户端(Client),响应的叫服务器(Server)。

生活场景
🍜 你去餐馆吃饭

你坐下——菜单(这是你的"客户端")——你说:"我要一碗牛肉面,加香菜不加葱。"
服务员把单子送到后厨——后厨(这是"服务器")——开始切肉、煮面、配汤、装盘——端给你。
整个过程中,你主动发起,餐馆被动响应。你不能指望餐馆主动猜到你今天想吃啥——这就是客户端和服务器的本质关系。

三个角色的"性格"

客户端 · Client服务器 · Server
性格主动出击——"我要什么"被动响应——"等着被问"
位置通常在你手上通常在远方机房
数量单个用户用一台同时服务成千上万人
性能一般,省电为主强大,多核大内存
状态经常关、休眠7×24 开机,不能挂
典型例子浏览器、App、邮箱客户端Web 服务器、邮件服务器、数据库

一次典型对话 · 你打开微信

1. 你点开微信

你的手机(客户端)主动连上微信服务器(腾讯机房)。

2. 服务器推送新消息

服务器查你账号,发现有人给你留言了,把消息推给你。

3. 你回了一条消息

你(客户端)发请求 → 微信服务器收到 → 转发给你朋友(也是客户端)→ 朋友手机响了。

4. 服务器做了什么

它在这一秒同时在跟几亿个客户端保持连接,分发消息、记录日志、同步状态。这就是服务器的"忙"。

一台机器可以既是客户端又是服务器

这是新手最容易迷糊的点——"客户端"和"服务器"不是两台固定的机器,而是"在某次通信里的角色"。同一台机器,这一刻是客户端,下一刻可能是服务器。

生活场景
🖨️ 你的笔记本变身"打印服务器"

你在家里笔记本上访问百度——你的笔记本是客户端(在请求网页)。
你的家人通过局域网共享你的打印机——这台笔记本此时又变成了打印服务器(在响应打印请求)。
同一台机器,只是角色在变。这完全取决于"它在这次对话里是发起方还是响应方"。

P2P · 没有"老大"的对话

有一种特殊模式叫 P2P(Peer-to-Peer,点对点)——所有参与者既是客户端又是服务器,互相直接对话,没有"中心服务器"。

模式典型应用优缺点
客户端 / 服务器网页浏览、App 聊天、电商管理方便,但服务器挂了就全完
P2PBT 下载、早期 Skype、局域网共享去中心,但监管难、稳定性差
Analogy · 餐厅 vs 大杂烩市集

客户端/服务器 像一家正规餐厅——你点菜,厨师做,规则明确,但厨师罢工餐厅就停业。
P2P 像农村市集——你既是卖家也是买家,没有"老板",市集永远不会"关门",但质量也参差不齐。

服务器有"专用款"

服务器不只有"通用款"——按照它专门做什么,可以分很多种:

服务器为什么"不能挂"

服务器不是"更好的电脑",它是"承诺永远在线的电脑"。一家大公司的服务器一挂,可能意味着几亿用户不能下单、不能登录、不能聊天。所以服务器有:

你要记住的一句话

客户端和服务器,是"角色"而不是"机器"——同一个设备,在 A 次对话里是客户端,在 B 次对话里可能是服务器。判断标准只有一个:谁先发起请求,谁就是客户端

Recap · 收束

所有网络通信,本质都是一对"问与答"——客户端问、服务器答。理解了这个分工,你就理解了整个互联网服务的骨架。

☰ 主页
Xue Hai Wu Ya · Network · § 1.4 · Client & Server