从域名解析到 HTTPS:一个网站如何被访问
在浏览器地址栏输入域名并按下回车,到页面渲染完成,背后发生了很多事。理解这条链路,是排查线上问题的基本功。
1. 完整访问链路
- 本地缓存查询:浏览器先查自身 DNS 缓存与系统 hosts 文件。
- 递归 DNS 查询:未命中时,请求交给运营商或公共 DNS,逐级解析到权威服务器。
- 获得 IP:权威服务器返回域名对应的 A / AAAA 记录(可能指向 CDN 节点)。
- 建立连接:浏览器与目标 IP 建立 TCP 连接,并通过 TLS 握手完成 HTTPS 协商。
- 发起请求:发送 HTTP 请求,经 CDN 回源或直达服务器(Nginx 等)响应内容。
- 渲染页面:浏览器解析 HTML,并行加载 CSS / JS / 图片等资源并完成渲染。
2. DNS 记录速查
| 记录类型 | 作用 | 示例 |
|---|---|---|
| A | 域名指向 IPv4 地址 | @ 3600 IN A 1.2.3.4 |
| AAAA | 域名指向 IPv6 地址 | @ 3600 IN AAAA 2400::1 |
| CNAME | 别名指向另一个域名 | www → example.github.io |
| MX | 邮件服务器 | @ → mail.example.com |
| TXT | 校验与 SPF 等文本记录 | v=spf1 include:... |
3. 为什么一定要 HTTPS
HTTP 明文传输,在公共 Wi-Fi 等场景下内容可被中间人篡改或窃听。HTTPS 通过 TLS 加密保证 机密性、完整性与身份可信:
- 证书由 CA 签发,浏览器校验站点身份,防止仿冒。
- 主流浏览器已对纯 HTTP 页面给出"不安全"提示。
- 国内要求备案通过后部署 HTTPS 时,证书信息与域名主体一致。
4. 常见排错思路
网站打不开时,按链路顺序定位:先 ping 测 IP,再 nslookup 查解析,然后看端口连通性,最后检查服务器日志。逐层排查,通常很快能找到问题所在。
小技巧:curl -v https://example.com 可以直观看到 DNS、TCP、TLS 与 HTTP 每一阶段的耗时与结果。
小结
把"输入域名 → 看到页面"拆成 DNS、连接、请求、渲染四个阶段,很多网络问题的答案就藏在其中某一环。