首先是
DNS解析:将域名解析成对应的ip地址;先会在浏览器DNS缓存中查找;系统DNS缓存;路由DNS缓存,若还未找到则回去本地的DNS服务器查找,如还没有则会去更上层的DNS服务器中查找;
拿到ip地址后会进行TCP链接
三次握手:
首先浏览器发送 SYN为1,seq为x给服务器,告诉服务器我要发送请求了
服务器收到后,发送SYN为1,ack为x+1,seq为y,通知浏览器它收到了
浏览器收到后,发送SYN为1,ack为y+1后,正式链接达成(防止已经失效的报文段突然有传送到了服务器,从而引起服务器的资源浪费)
发送请求,接受到响应
然后开始渲染页面,
首先解析html,构建DOM
解析Css,构建cssom
引入js,将CSSOM与DOM结合成渲染树
布局(layout),根据渲染树来计算布局,计算每一个节点的几何信息
将各个节点的颜色绘制到屏幕上
断开链接,TCP四次挥手
浏览器发送 FIN为1,seq为x,告诉服务器他没有想要发送的请求了
服务器收到后,发送ACK为x+1,告诉服务器他知道了
服务器发送FIN为1,seq为u,告诉浏览器它没有想要发送的报文了
浏览器收到后发送,ACK为u+1,告诉服务器他知道了
然后链接正式断开