🕸️ 第三章 为Web提供支持的技术
📄 一句话概括

一个网站能不能打开,不只看那台 Web 服务器——地址、名字、加密、防护,每一环都有人管;这些不直接露面、只负责【让访问能顺利到达】的技术,才是把 Web 撑起来的地基。

📝 本节和前面几节的关系

第一章讲了 Web 系统是【浏览器 + Web 服务器 + 网络】,第二章讲了网页内部是怎么拼出来的。这一章换一个视角:看那些不直接产出网页、却在下面顶着它的服务器与技术。教材把它们统称为【与 Web 服务器相关的服务器】。

一、教材说的【与 Web 服务器相关的服务器】是哪些

这一节的标题后面跟着一句【与 Web 服务器相关的服务器】。听起来绕口,其实点的是一件事:Web 服务器不是一个人在干活,它身边围着一圈各管一段的服务器。

给设备发地址的 DHCP 服务器、把域名翻成地址的 DNS 服务器、挡在前面做缓存与防护的代理服务器、签发证书的证书颁发机构、负责把流量送到门口的运营商与互联网交换中心——都是这一圈里的成员。

它们和 Web 服务器的差别很清楚:Web 服务器产出网页内容,而这些服务器只负责【让这次访问能找到、能送到、能看懂】。

二、动手 Demo:牵动的技术与机器

先列一张全貌表:从敲回车到页面出现,到底有哪些技术在同时干活。

techs = ["DNS", "DHCP", "IP", "TCP", "MAC", "NAT", "Proxy", "TLS", "FTP"]
print("一次访问牵动的支撑技术:", len(techs), "种")
print("其中直接产出网页内容的:Web 服务器 1 种")
print("比例:1 / %d = %.1f%%" % (len(techs), 100.0 / len(techs)))

实跑输出:

--------------------------------------------------------------------
D1  一次访问牵动多少种技术
--------------------------------------------------------------------

  在地址栏敲一个网址、按下回车,页面就出来了。这一下按下去,背后最少牵动了下面
  这些技术——缺一个,页面就打不开。

  技术        作用                              在哪一层              谁来提供
  ----------------------------------------------------------------------------------------------
  DNS         把域名翻成 IP 地址                应用层                注册商 / DNS 服务商
  DHCP        给设备自动发放 IP 地址            应用层                路由器 / 企业服务器
  IP          在多个网络之间找路(寻址)        网络层                运营商 / 操作系统
  TCP         把数据切成段并保证有序到达        传输层                操作系统协议栈
  MAC         在同一局域网里找到具体网卡        数据链路层            网卡出厂时固化
  NAT         让多台设备共用一个公网地址        网络层                家用路由器 / 网关
  Proxy       挡在网站前面做缓存与防护          应用层                反向代理服务商
  TLS         把来回的内容加密、验证身份        应用与传输之间        CA 与站点自己
  FTP         在服务器之间搬运文件              应用层                独立客户端软件

  换一个角度看:敲一次回车,中间到底有几台机器在为我干活。

  环节            谁在干                              数量
  ----------------------------------------------------------------------
  拿地址          DHCP 服务器                         1 台
  查域名          DNS 服务器(本地 + 根/TLD/权威)    1~4 台
  找路径          沿途每一台路由器                    10~20 台
  被挡住          反向代理 / CDN 边缘节点             1 层
  真正干活        Web 服务器(真正跑程序那台)        1 台

  2026 年的三个数字,先记个大概:
    · 90.1% 的网站默认走 HTTPS,加密已经是默认项,不再是加分项
    · 46.2% 的 Google 用户走 IPv6,新旧两套地址正在同时跑
    · 29.6% 的网站前面挡了一层反向代理,最大一家占掉其中 84.6%

看第一张表:九种技术,没有一种是多余的。DNS 答不上来,你连服务器的门都摸不到;TCP 不干活,数据传过去是散的;TLS 不在,你的密码就是明信片。

看第二张表更有意思:真正干活的那台 Web 服务器只有 1 台,可沿途的设备加起来有十几台起步。这就是【支持技术】这个词的含义——它们数量最多,却从不署名。

三、各就各位:每一环到底在管什么

把这些技术按【解决哪一类问题】归一次类,就很好记了:

第一类,负责【找到】。 DNS 把名字换成地址;IP 负责在多个网络之间选路;路由器负责一站一站接力。这一类的关键词是【编号与导航】。

第二类,负责【送达】。 TCP 把大块数据切成段、编上号,保证不丢不乱;MAC 负责在同一个局域网里把数据交给下一台设备。这一类的关键词是【可靠与接力】。

第三类,负责【开门】。 DHCP 给刚联网的设备发一个临时地址;DHCP 和 DNS 一起,让【插上网线就能上网】成了一件不用动脑子的事。

第四类,负责【保护】。 TLS 把来回内容加密;反向代理挡在前面处理攻击;证书颁发机构负责证明【对面这个站是真的】。

第五类,负责【供应】。 Web 服务器、应用服务器、数据库——也就是第二章里那些真正产出页面的角色。

四、为什么这些技术平时看不见

因为它们被藏在别人家的机房里。用户能看到的只有地址栏和页面,中间那一长串机器与服务,全部在屏幕之外。

看不见不等于不重要。只要其中任何一个罢工,页面就是打不开——而且故障表现几乎一样:转圈、超时、报错。这也正是排查困难的根源:同样是【打不开】,可能是解析错了、可能是证书过期、可能是代理挂了、也可能是服务器本身的问题。

把这一节的结构记住了,后面几条就都是往里填细节:3-2 到 3-5 讲【找到】,3-6 讲【挡在前面】,3-7 讲【保护】,3-8 讲【端口与文件】,3-9 到 3-12 讲【自己弄一台服务器】。

30 秒实验

  1. 打开浏览器开发者工具,切到 Network 面板刷新页面,点第一条请求看 Timing 那一栏——DNS 解析、建立连接、等待响应各占多久,一眼就看得出这次访问卡在哪一段。
  2. 在命令行运行 ipconfig /all(Windows)或 ifconfig(macOS / Linux),找出给你发地址的那台 DHCP 服务器是谁。
  3. 随手挑三个常用网站,看它们的响应头里有没有出现 CDN 或反向代理的特征(比如 cf-cache-status、x-cache 这类字段)。

常见误区

  1. 错误:一个网站就只有一台服务器在干活。——纠正:至少三拨人——解析域名的、挡在前面的、真正产出内容的。规模越大分工越细,一台服务器扛下一个大站是早期的事。
  2. 错误:这些底层技术是运维的事,跟做网页的人无关。——纠正:它们决定网页优化的上限。缓存策略能不能生效,取决于代理层怎么配;站点打不开,第一件事就是分清是【解析错了】还是【服务器挂了】——判断错的代价就是白折腾半天。
  3. 错误:HTTPS 是安全团队额外加上去的选装件。——纠正:90.1% 的网站已经默认走 HTTPS,它已经是网页的默认运行方式。当成默认项来理解,才不会在配置时漏掉它。
  4. 错误:教材这一节只是给后面几条起个头,没有实质内容。——纠正:这一节的价值在于给出全貌。零散地学会 DNS、DHCP、TLS,很容易变成一堆孤立的知识点;先摆出全景图,后面每一条都能挂到墙上的钩子上。
自测三问(点开对答案) 1. 一次访问最少牵动哪些技术? —— DHCP、DNS、IP、TCP、MAC、NAT、代理、TLS,最后才轮到 Web 服务器。**其中真正产出网页内容的只有一个**,其余全在【让它能到达】这件事上出力。 2. 为什么说这些技术【看不见】? —— 因为它们跑在别人家的机房里,用户界面只暴露地址栏和页面。**看不见带来一个直接后果:故障表现高度相似**——都是转圈和报错,所以排查时必须一项一项排除,不能凭感觉猜。 3. 这一节和 1-2【Web 系统的架构】是什么关系? —— 1-2 给的是**从浏览器到 Web 服务器这条主线**的架构;这一节补的是主线**之外的支撑件**。**主线决定网页长什么样,支撑件决定这次访问能不能成**——两者合起来才是完整的 Web 系统。

相关笔记