一个网站能不能打开,不只看那台 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 秒实验
- 打开浏览器开发者工具,切到 Network 面板刷新页面,点第一条请求看 Timing 那一栏——DNS 解析、建立连接、等待响应各占多久,一眼就看得出这次访问卡在哪一段。
- 在命令行运行
ipconfig /all(Windows)或ifconfig(macOS / Linux),找出给你发地址的那台 DHCP 服务器是谁。 - 随手挑三个常用网站,看它们的响应头里有没有出现 CDN 或反向代理的特征(比如
cf-cache-status、x-cache这类字段)。
常见误区
- 错误:一个网站就只有一台服务器在干活。——纠正:至少三拨人——解析域名的、挡在前面的、真正产出内容的。规模越大分工越细,一台服务器扛下一个大站是早期的事。
- 错误:这些底层技术是运维的事,跟做网页的人无关。——纠正:它们决定网页优化的上限。缓存策略能不能生效,取决于代理层怎么配;站点打不开,第一件事就是分清是【解析错了】还是【服务器挂了】——判断错的代价就是白折腾半天。
- 错误:HTTPS 是安全团队额外加上去的选装件。——纠正:90.1% 的网站已经默认走 HTTPS,它已经是网页的默认运行方式。当成默认项来理解,才不会在配置时漏掉它。
- 错误:教材这一节只是给后面几条起个头,没有实质内容。——纠正:这一节的价值在于给出全貌。零散地学会 DNS、DHCP、TLS,很容易变成一堆孤立的知识点;先摆出全景图,后面每一条都能挂到墙上的钩子上。
自测三问(点开对答案)
1. 一次访问最少牵动哪些技术? —— DHCP、DNS、IP、TCP、MAC、NAT、代理、TLS,最后才轮到 Web 服务器。**其中真正产出网页内容的只有一个**,其余全在【让它能到达】这件事上出力。 2. 为什么说这些技术【看不见】? —— 因为它们跑在别人家的机房里,用户界面只暴露地址栏和页面。**看不见带来一个直接后果:故障表现高度相似**——都是转圈和报错,所以排查时必须一项一项排除,不能凭感觉猜。 3. 这一节和 1-2【Web 系统的架构】是什么关系? —— 1-2 给的是**从浏览器到 Web 服务器这条主线**的架构;这一节补的是主线**之外的支撑件**。**主线决定网页长什么样,支撑件决定这次访问能不能成**——两者合起来才是完整的 Web 系统。- ☐ 下一节(3-2 访问Web的基础知识:TCP/IP 协议)
相关笔记
- 系列处理流程的管理 —— 上一章最后一节:本章从这里接上
- Web系统的架构 —— 主线的架构,和本节合起来看才完整
- 如何访问国外的Web网站 —— 访问能到达,靠的是这些支撑件
- 静态与动态、CGI —— 编程课里同一批概念的另一种讲法
- 🕸️ Web技术原理 · 索引