🔌 第六章 请求到达Web服务器,响应返回浏览器
📄 一句话概括

客户端与服务器不是硬件等级,是角色:发起访问的是客户端、等着被访问的是服务器——同一台机器完全可以兼任,判断标准只看此刻在干嘛。

📝 本节和前面几节的关系

探索之旅的终点站:终于走进服务器本尊;先从最基本的概念问起。

一、按角色分,不按机器分

发起访问的一方=客户端;等待访问的一方=服务器; 同一台机器上一会儿当客户端、一会儿当服务器,完全正常。

二、区别在程序

跑客户端程序就是客户端,跑服务器程序就是服务器; 硬件规格只是【干这活够不够劲】的问题,不是身份问题。

三、动手 Demo:客户端与服务器的区别

区别不在硬件,在角色:

for a, b, c in [('客户端','发起访问的一方','你的浏览器'),
             ('服务器','等着被访问的一方','网站主机')]:
    print('%-4s %-14s %s' % (a, b, c))
print()
print('判断标准只有一条:此刻它在发起还是在等待')

实跑输出:

--------------------------------------------------------------------
客户端与服务器的区别
--------------------------------------------------------------------
  区别不在硬件,在**角色**:

  角色       动作                 举例
  -------------------------------------------
  客户端     发起访问的一方       你的浏览器
  服务器     等着被访问的一方     网站主机
  -------------------------------------------

  同一台机器可以兼任两种角色——
  判断标准只有一条:**此刻它在发起还是在等待**。

这份【平常心】很值钱:后面看到服务器内部的操作, 大半都跟客户端是同一套——先记住【规矩不分主客】。

30 秒实验

  1. 举一台电脑同时当客户端和服务器的例子。
  2. 说说你家路由器里跑的是什么角色。
  3. 用一句话向同事解释两者的区别。

常见误区

  1. 以为服务器一定是机房里的大家伙——一台旧笔记本也能跑。
  2. 以为角色是固定的——随程序切换而切换。
自测三问(点开对答案) 1. 客户端与服务器的判断标准? —— 此刻在发起访问还是在等待访问。 2. 同一台机器能兼任吗? —— 能,角色随程序走。 3. 区别的本质在哪? —— 跑的程序不同。

相关笔记