1.浏览器中输入url地址
2.浏览器解析域名得到服务器IP地址
浏览器先从缓存中找是否存在域名 缓存查找记录:浏览器缓存=>系统缓存=>路由器缓存
-------存在---------->直接取出对应IP地址
-----不存在--------->开启一个DNS域名解析器 ------->DNS域名服务器对域名进行解析 -----> 域名解析权交给CNAME指向的CDN专用的DNS解析器 ------>DNS域名解析器将负载均衡的ip地址返给用户
//用户向负载均衡设备发起内容url请求 ------>负载均衡设备选择一台合适的缓存设备 ----->向缓存服务器发起请求 -----> 返回资源给用户
3.TCP三次握手建立客户端和服务端得连接
1.客户端---->服务器
2.服务器----->客户端
3.客户端------>服务器
4.客服端发送HTTP请求获取服务器静态资源
5.服务器发送HTTP响应报文给客户端,客户端获取到页面静态资源
6.TCP四次挥手关闭客户端和服务器的连接
- 客户端---->服务器 客户端状态变为FIN_WAIT_1
- 服务器----->客户端 服务器状态变为CLOSE_WAIT,TCP进入半关闭状态
- 服务器----->客户端 服务器状态变为LAST_ACK
- 客户端---->服务器 客户端状态变为TIME_WAIT,此时TCP未释放,需要等待计时器计时完成后,客户端状态变为CLOSED
浏览器 渲染页面
- 解析HTML资源,构建DOM tree
- 解析CSS资源,构建CSS Rule tree
- JS通过DOM API和CSS OM API来操作DOM Tree和CSS Tree
- 解析完成后综合DOM Tree和CSS Tree会生成Render Tree,计算每个元素的位置,这个过程就是回流(layout or reflow)
- 调用操作系统Native GUI的绘制
- 完成