前言

当你在浏览器输入 www.google.com 并按下回车,背后发生了什么? 这个看似简单的动作,背后涉及域名解析、DNS 查询、TLS 加密握手等一系列精密的协作过程。理解这些机制,是每个开发者的必修课——它直接关系到你的网站能不能被访问、数据会不会被窃取。

这篇文章会带你学什么?

学完这章后,你将获得:

  • DNS 原理:理解域名如何被翻译成 IP 地址的完整过程
  • 记录类型:掌握 A、CNAME、MX 等常见 DNS 记录的用途
  • HTTPS 机制:理解 TLS 握手如何建立安全连接
  • 证书体系:了解数字证书的信任链和验证机制
  • 安全意识:明白为什么 HTTPS 是现代 Web 的底线要求
章节 内容 核心概念
第 1 章 DNS 解析 递归查询、迭代查询
第 2 章 DNS 记录 A、CNAME、MX、TXT
第 3 章 HTTPS 与 TLS 握手过程、加密通信
第 4 章 证书信任链 CA、根证书、中间证书
第 5 章 HTTP vs HTTPS 明文 vs 加密、安全对比

0. 全景图:从域名到安全连接

互联网的通信基于 IP 地址(如 142.250.80.46),但人类记不住这些数字。于是我们发明了域名系统(DNS)——互联网的"电话簿",把人类可读的域名翻译成机器可读的 IP 地址。

但光能找到服务器还不够。如果通信内容是明文传输的,任何中间人都能窃听、篡改你的数据。HTTPS 就是解决这个问题的——它在 HTTP 之上加了一层 TLS 加密,确保数据在传输过程中的机密性和完整性。

一次完整的网页访问
  1. 域名解析:浏览器问 DNS “www.google.com 的 IP 是多少?",DNS 回答 “142.250.80.46”
  2. TCP 连接:浏览器与服务器建立 TCP 三次握手
  3. TLS 握手:双方协商加密算法、验证证书、交换密钥
  4. 加密通信:所有 HTTP 数据通过加密通道传输

1. DNS 解析:互联网的"电话簿”

DNS(Domain Name System)的工作原理就像查电话簿:你知道对方的名字(域名),需要查到对方的电话号码(IP 地址)。但互联网的"电话簿"不是一本,而是一个分层的分布式系统。

DNS 解析的四个步骤
  1. 浏览器缓存:先查本地缓存,如果之前访问过这个域名,直接用缓存的 IP
  2. 递归解析器:缓存没命中,请求发给 ISP 的递归解析器(如 8.8.8.8)
  3. 逐级查询:递归解析器依次询问根域名服务器 → 顶级域服务器(.com)→ 权威域名服务器(google.com)
  4. 返回结果:权威服务器返回最终 IP,递归解析器缓存结果并返回给浏览器
层级 服务器 职责 数量
根域 Root Server 知道所有顶级域的地址 全球 13 组
顶级域 TLD Server 管理 .com、.cn、.org 等 每个后缀一组
权威域 Authoritative 存储具体域名的 DNS 记录 每个域名至少 2 个
递归解析器 Resolver 代替用户完成整个查询过程 ISP 或公共 DNS

2. DNS 记录类型:域名背后的"配置表"

DNS 不只是把域名翻译成 IP。通过不同类型的 DNS 记录,你可以控制邮件投递、域名跳转、服务发现等多种行为。理解这些记录类型,是配置域名和排查网络问题的基础。

记录类型 用途 示例
A 域名 → IPv4 地址 example.com → 93.184.216.34
AAAA 域名 → IPv6 地址 example.com → 2606:2800:220:1:...
CNAME 域名 → 另一个域名(别名) www.example.com → example.com
MX 指定邮件服务器 example.com → mail.example.com
TXT 存储文本信息 SPF 验证、域名所有权验证
NS 指定权威域名服务器 example.com → ns1.example.com
实际场景中的 DNS 配置
  • 部署网站:添加 A 记录指向服务器 IP,或 CNAME 指向 CDN 域名
  • 配置邮箱:添加 MX 记录指向邮件服务器,TXT 记录配置 SPF/DKIM 防垃圾邮件
  • 验证域名所有权:云服务商要求你添加特定 TXT 记录来证明你拥有这个域名
  • 负载均衡:同一域名配置多条 A 记录,DNS 轮询分发流量

3. HTTPS 与 TLS:给数据穿上"防弹衣"

HTTP 协议的数据是明文传输的——就像寄明信片,邮递员(中间人)可以随意阅读内容。HTTPS 在 HTTP 之上加了一层 TLS(Transport Layer Security)加密,相当于把明信片装进了密封信封。

TLS 握手是建立安全连接的关键步骤,它在正式传输数据之前,完成身份验证和密钥协商。

TLS 1.3 握手的核心步骤
  1. Client Hello:客户端发送支持的加密算法列表和一个随机数
  2. Server Hello:服务器选择加密算法,返回数字证书和随机数
  3. 证书验证:客户端验证服务器证书是否可信(检查 CA 签名、有效期、域名匹配)
  4. 密钥交换:双方通过 ECDHE 算法协商出一个共享密钥(不在网络上传输密钥本身)
  5. 加密通信:后续所有数据使用协商好的对称密钥加密传输
特性 TLS 1.2 TLS 1.3
握手往返次数 2-RTT 1-RTT(首次)/ 0-RTT(恢复)
密钥交换 RSA 或 ECDHE 仅 ECDHE(前向安全)
加密算法 支持较多旧算法 仅保留安全算法
性能 较慢 更快

4. 证书信任链:凭什么相信这个网站?

TLS 握手中最关键的一步是"证书验证"。浏览器怎么判断一个网站的证书是真的,而不是攻击者伪造的?答案是证书信任链——一个层层背书的信任体系。

证书信任链的三层结构
  1. 根证书(Root CA):由受信任的证书颁发机构签发,预装在操作系统和浏览器中。这是信任的"锚点"。
  2. 中间证书(Intermediate CA):由根 CA 签发,用于签发终端证书。根 CA 不直接签发网站证书,是为了安全隔离。
  3. 终端证书(Leaf Certificate):你的网站实际使用的证书,由中间 CA 签发,包含域名、公钥、有效期等信息。
证书类型 验证级别 颁发速度 适用场景
DV(域名验证) 仅验证域名所有权 分钟级 个人网站、博客
OV(组织验证) 验证组织身份 数天 企业官网
EV(扩展验证) 严格验证组织 数周 银行、金融机构
通配符证书 覆盖所有子域名 视类型而定 多子域名场景

5. HTTP vs HTTPS:为什么加密是底线?

2024 年,全球超过 95% 的网页流量已经通过 HTTPS 传输。Chrome 浏览器会对 HTTP 网站标记"不安全"警告,搜索引擎也会降低 HTTP 网站的排名。HTTPS 不再是"可选项",而是现代 Web 的底线要求。

维度 HTTP HTTPS
数据传输 明文,可被窃听 加密,无法被窃听
身份验证 无,无法确认服务器身份 有,通过证书验证服务器
数据完整性 无保护,可被篡改 有保护,篡改会被检测
端口 80 443
SEO 影响 搜索排名降低 搜索排名加分
浏览器表现 显示"不安全"警告 显示锁图标
免费获取 HTTPS 证书

Let’s Encrypt 是一个免费、自动化的证书颁发机构,让任何网站都能零成本启用 HTTPS。配合 Certbot 工具,可以一键申请和自动续期证书。大多数云平台和 CDN 服务商也提供免费的 SSL 证书。


总结

域名、DNS 和 HTTPS 是互联网基础设施的三大支柱。DNS 让我们用人类可读的名字访问网站,HTTPS 确保通信过程安全可信。

回顾本章的关键要点:

  1. DNS 是分层系统:根域 → 顶级域 → 权威域,逐级查询,缓存加速
  2. 记录类型各有用途:A 记录指向 IP,CNAME 做别名,MX 管邮件,TXT 做验证
  3. TLS 握手建立信任:证书验证 + 密钥协商,TLS 1.3 只需 1-RTT
  4. 证书信任链:根 CA → 中间 CA → 终端证书,层层背书
  5. HTTPS 是底线:免费证书(Let’s Encrypt)让加密零门槛

延伸阅读

Last updated 26 Apr 2026, 03:21 +0800 . history