📄 一句话概括
客户端与服务器不是硬件等级,是角色:发起访问的是客户端、等着被访问的是服务器——同一台机器完全可以兼任,判断标准只看此刻在干嘛。
📝 本节和前面几节的关系
探索之旅的终点站:终于走进服务器本尊;先从最基本的概念问起。
一、按角色分,不按机器分
发起访问的一方=客户端;等待访问的一方=服务器; 同一台机器上一会儿当客户端、一会儿当服务器,完全正常。
二、区别在程序
跑客户端程序就是客户端,跑服务器程序就是服务器; 硬件规格只是【干这活够不够劲】的问题,不是身份问题。
三、动手 Demo:客户端与服务器的区别
区别不在硬件,在角色:
for a, b, c in [('客户端','发起访问的一方','你的浏览器'),
('服务器','等着被访问的一方','网站主机')]:
print('%-4s %-14s %s' % (a, b, c))
print()
print('判断标准只有一条:此刻它在发起还是在等待')
实跑输出:
--------------------------------------------------------------------
客户端与服务器的区别
--------------------------------------------------------------------
区别不在硬件,在**角色**:
角色 动作 举例
-------------------------------------------
客户端 发起访问的一方 你的浏览器
服务器 等着被访问的一方 网站主机
-------------------------------------------
同一台机器可以兼任两种角色——
判断标准只有一条:**此刻它在发起还是在等待**。
这份【平常心】很值钱:后面看到服务器内部的操作, 大半都跟客户端是同一套——先记住【规矩不分主客】。
30 秒实验
- 举一台电脑同时当客户端和服务器的例子。
- 说说你家路由器里跑的是什么角色。
- 用一句话向同事解释两者的区别。
常见误区
- 以为服务器一定是机房里的大家伙——一台旧笔记本也能跑。
- 以为角色是固定的——随程序切换而切换。
自测三问(点开对答案)
1. 客户端与服务器的判断标准? —— 此刻在发起访问还是在等待访问。 2. 同一台机器能兼任吗? —— 能,角色随程序走。 3. 区别的本质在哪? —— 跑的程序不同。- ☐ 下一节(6.1.2 服务器程序的结构)
相关笔记
- HTTP的基本思路 — 请求响应的双方
- 1.1-1.3 系统与司令塔(系统与服务器、使用形态、被动式运用形态) — 被动式形态
- 🔌 网络是怎样连接的 · 索引