1.URL解析
首先你输入的是一个合法的URL还是一个待搜索的关键词,并且根据你输入的内容进行对应操作
2.DNS查询
获取到域名对应的目标服务器IP地址
3.TCP连接
在确定目标服务器的IP地址后,经历三次握手建立TCP连接
发送方:标有SYN的数据包发给你啦
接收方:明白!我收到你发给我的数据包了(并发送标有SYN/ACK的数据包)
发送方:明白!(发送标有ACK的数据包)
4.发送Http请求
当建立TCP连接之后,就可以在这基础上进行通信,浏览器发送http请求到目标服务器
请求的内容包括请求行,请求头,请求主体
5.响应请求
当服务器收到浏览器的请求之后,就会进行逻辑操作,处理完成之后返回一个HTTP响应消息
包括状态行,响应头,响应正文
在服务器响应之后,由于现在http默认开始长链接keep-alive,当页面关闭后,tcp连接会经历4次挥手完成断开
主动方:FIN(我传完了,我想结束)
被动方:ACK(知道了,你不用继续发了)
被动方:FIN(我也传完了,我也想结束了)
主动方:ACK(收到了,挂了哈~)
6.页面渲染
1)解析HTML,构建DOM树
2)解析CSS,生成CSS规则树
3)合并DOM树和CSS规则树,生成render树
4)布局render树,负责各元素尺寸,位置的计算
5)浏览器会将各层的信息发送给GPU,GPU将各层合成,显示在屏幕上