一次网页访问到底发生了什么
很多人第一次搭站时,脑子里的模型只有一句话:“用户访问网址,然后网站打开。”
这个模型太粗了。你只要开始碰域名、DNS、HTTPS、CDN、反向代理、缓存,就会发现很多问题都必须回到整条链路里理解。
先看最小版本
当用户在浏览器里输入一个网址时,大致会发生这些事:
- 浏览器解析 URL,知道要访问哪个域名、哪个协议、哪个路径
- 浏览器查 DNS,把域名解析成 IP 或代理层地址
- 浏览器和目标建立连接,必要时完成 TLS 握手
- 浏览器发出 HTTP 请求
- 请求可能先经过 CDN、WAF、反向代理,再到你的源站
- 源站返回 HTML、CSS、JavaScript、图片、接口数据等内容
- 浏览器继续请求依赖资源,最后把页面渲染出来