🕸️ 第一章 Web技术基础知识
📄 一句话概括

Web 服务器分两层看:外壳是操作系统(数据中心的绝大多数跑 Linux 分支的 UNIX),里面是服务器软件(Nginx、Apache 这些监听端口的程序);外观则是机架、电源、网线、风扇。

📝 本节和前面几节的关系

前面四篇讲的都是"用户这一头"和"地址"。这一篇转到对面那一头——那台真正在发内容的机器。上一篇说门牌 www.example.co.jp 指向"一台机器",这一篇就打开这台机器看里面装了什么。前一门课 🖥️ 服务器工作原理 讲的是"服务器这种机器一般长什么样",本篇聚焦在 Web 场景中它多出来的那一层软件。

一、先分两层:外壳与内里

"Web 服务器"这四个字容易让人以为是一台专门造出来的机器。其实它是一台普通服务器,加了一层软件。所以要分两层看:

一句顺口的话:操作系统是地,服务器软件是地上的柜台。

二、Linux、Windows Server、UNIX:三个名字,别绕晕

这三个词总被并排提起,但它们不是同一层的名字:

名字 是什么 谁在用
UNIX 系统 一类血统,也是当年那套操作系统的名字 起源,今天的数据中心大多间接继承它
Linux UNIX 血统里最流行的那一支(开源、免费) 占数据中心绝大多数
Windows Server 微软那一支,图形界面熟、和企业账号体系一体 内部系统、和 Active Directory 绑得紧的场景

最容易被搞混的是"UNIX 系统"这一栏。 它同时是一类操作系统的总称,也是当年那个具体系统的名字。教材把它单独列出来,正是因为它既是"祖宗"、又是"一类"。而今天真正在数据中心里接客的,绝大多数是它的 Linux 分支——所以你听到"网站跑在 UNIX 上",多半是指某个 Linux。

三、为什么数据中心偏爱 Linux

不是信仰问题,是三笔实账:

这也解释了一个反直觉的现象:服务器上往往没有图形界面。不是装不上,是不需要——它在机房里没人看着,能省一点资源、少一个出错的地方,就省。

四、动手 Demo:今天的份额,和服务器里外各长什么样

下面这个 Demo 列出今天的服务器软件份额和操作系统份额,再顺手把机架外观也点一遍。

rows = [("Nginx", 31.3), ("Cloudflare Server", 29.9), ("Apache", 22.5),
        ("LiteSpeed", 14.7), ("Node.js", 7.0)]
for n, v in rows:
    print("%-20s %.1f%%" % (n, v))
print("前五名合计 %.1f%%" % sum(v for _, v in rows))

实跑输出:

--------------------------------------------------------------------
D5  Web 服务器的外观与内部结构:外壳是操作系统,里面是软件
--------------------------------------------------------------------
  先看今天的服务器软件份额(W3Techs,2026 年 9 月):
  ----------------------------------------------------------------------------------------
  服务器软件          份额        性格
  ----------------------------------------------------------------------------------------
  Nginx               31.3%       事件驱动,扛并发,常做前台
  Cloudflare Server   29.9%       云厂商边缘节点,替后端挡在最外面
  Apache              22.5%       模块最全,能按目录挂配置
  LiteSpeed           14.7%       Apache 的配置能用,引擎更快
  Node.js             7.0%        直接跑 JavaScript 的服务器
  ----------------------------------------------------------------------------------------
  前五名合计 105.4%——合计超过 100%,
  是因为同一台服务器常常既算边缘节点、又算后端软件,被统计了两次。

  再看外壳——操作系统(同一来源):
  ----------------------------------------------------------------------------------------
  操作系统            份额        主要形态
  ----------------------------------------------------------------------------------------
  Unix 类             92.0%       含各种 Linux 发行版
    └ Linux          —          发行版众多、开源免费、命令行强
  Windows Server      8.2%        图形界面熟、和 Active Directory 一体

  外部看:机架、电源、网线、风扇;
  内部看:操作系统在底下,服务器软件在上面监听 80/443 端口。
  教材把 UNIX 系统单独列出来,正是因为它同时是【操作系统】和【一类血统】的名字。
  今天真正跑在数据中心里的,绝大多数是它的 Linux 分支。

读这个输出:两个数字最值得看。操作系统那一栏 Unix 类 92.0% 对 Windows 8.2%——差距这么大,不是因为 Windows 不好,而是因为"便宜、能瘦、好自动化"这三条在大规模场景里权重极高。而服务器软件那一栏,合计超过 100%——这说明一台机器的流量可能先经过云厂商的边缘节点、再交给自己的 Nginx,被统计了两次。看份额表时先想清楚"它按什么算",比记住谁第一更重要。

五、⚠️ 2026 现状

教材 2024 年出版,这一篇的格局变化最快,有三处值得补:

30 秒实验

做两件事,感受"里外两层":

  1. 打开浏览器,按 F12 打开开发者工具,切到"网络"标签,随便刷一个页面,找到任意一条请求,看它的响应头里有没有 Server: 这一行——那一行可能写着 nginx、Apache 或别的名字。这就是外壳里那层软件在向你打招呼。
  2. 记下这个名字,再想一想:它是那个网站自己装的,还是某个云厂商替它挡在前面的? 光凭这一行往往分不出来——这正说明"同一层里位置不同"这件事有多常见。

常见误区

  1. 错误:UNIX 是过时的老系统,早就被 Linux 取代了。——纠正:Linux 就是 UNIX 血统的一支,不是它的对手。今天说"跑在 UNIX 上"和说"跑在 Linux 上",多数时候指的是同一件事。教材把它单独列出来,是要你分清【血统】和【具体那一支】——不是两个时代,是一棵树和一个树枝。

  2. 错误:服务器就该装图形界面,好管理。——纠正:图形界面在服务器上通常是负担。云上几千台机器,点着管是不现实的——必须能用脚本、用配置文件批量操作。所以"能命令行管"比"能点鼠标管"重要得多,这也是 Linux 在数据中心占绝对多数的重要原因。

  3. 错误:看服务器份额表,第一名就是最好的。——纠正:份额表要看它按什么统计。Demo 里前五名合计超过 100%,就是因为"同一台服务器被统计了两次"。所以份额反映的是部署的普遍程度,不是"哪个更好"——选哪个要看你的团队熟悉什么、要什么特性。

  4. 错误:Web 服务器就是那台机器。——纠正:这个词同时指软件和机器,得看上下文。别人说"我们的 Web 服务器挂了",你要问一句是软件进程挂了(重启服务)还是机器宕了(换机器)。这两种故障的处理方式完全不同,分不清就会白折腾。

自测三问(点开对答案) 1. 为什么数据中心里 Linux 占绝对多数,而 Windows Server 还有一席之地? —— 因为**两种场景的需求不同**。大规模、要批量自动化的场景,Linux 的"免费、能瘦、好写脚本"三条全占优;而**内部系统**常常已经用了微软的账号体系(Active Directory),和 Windows Server 天然一体,换掉反而更麻烦。**选哪一支,看的是你现有的环境,不是哪个更先进**。 2. Demo 里"前五名合计 105.4%",这个数为什么能超过 100%? —— 因为**同一台服务器会被算进不止一个名字**。比如流量先经过云厂商的边缘节点、再交给自己的 Nginx,两边都会被统计到各自名下。**份额表里的百分比不是"有多少台机器",而是"有多少次露面"**——读这类表,先问清楚"它统计的是谁"。 3. 网页请求头里的 `Server: nginx` 那一行,能说明网站自己装了什么吗? —— **只能作为线索,不能当结论**。因为最前面挡着的那一层(云厂商的边缘节点)也会写上自己的名字;有些站点还会故意把这一行改掉或抹掉。**所以这一行只是"谁最后接的客",未必是"谁在干活"**——想知道背后是什么,往往需要另外的办法。

相关笔记