从浏览器地址栏按下回车后一个完整的http请求需要8步;
- 浏览器搜索自身的 DNS 缓存,若有返回结果结束请求,若没有(未找到缓存/失效)执行2
- 浏览器搜索操作系统自身的 DNS 请求,若没有执行3
- 读取本地 HOST文件,若没有执行4
- 浏览器发起 DNS 的一个系统调用(一般为宽带运营商提供),获取到对应的IP地址
- 宽带运营商服务器查看自身缓存
- 若没有发起迭代 DNS 解析请求
- 根域 ip 地址 找到 com 域的顶级域 IP 地址,然后找到 imooc.com 域的 IP 地址(官网提供) 最后得到 imooc.com 域名 IP 地址
- 宽带运营商将结果返回操作系统内核并缓存
- 操作系统将结果返回浏览器
- 浏览器获取到 www.imooc.com 对应的 IP 地址
- 浏览器发起 http “三次握手” 建立 TCP/IP 连接
- 随机端口,TCP 连接请求
- 通过服务器网卡,最终到达 web 服务端
- 浏览器发送 http 请求到服务器
- 服务器接受请求根据路径参数,通过后端处理,返回结果数据到浏览器
- 浏览器拿到完整代码解析、渲染