zxdfe / FE-Interview

Every step counts
34 stars 1 forks source link

第67题:从URL输入到页面渲染发生了什么? #68

Open zxdfe opened 1 year ago

ElviraSusu commented 1 year ago

1.URL解析 使用的协议, http/https ,超文本传输协议,介于客户端和服务器交互信息的 服务器的地址, 可以是域名也可以是ip地址 使用的端口,默认的可以不写, 文件路径 查询字符串 锚点链接 2.DNS解析 拿到域名或者ip地址,首先会在本地的dns表上查找,如果找不到,会向外层网关寻找,直至找到,找到过后dns服务器会返回给客户端 3.http请求 拿到dns返回的地址过后,客户端就去找地址所在的服务器,发送建立连接的请求.所谓的三次握手 三次握手: 第一次,客户端向服务器发送建立连接请求 第二次,服务器给客户端返回带有SYN/ACK标识的确认请求,表示我收到你的请求了,可以建立连接 第三次,客户端给服务器发送带有ACK标识的在此确认请求,表示是本机收到确认的请求了 开始发送http请求,其中包含:请求类型,请求头,请求报文(报文头,报文体) 4.响应请求 服务收到请求后,会返回一个http响应信息,其中包含:状态行,响应头,响应主体 在响应之后,由于http中默认开启了keep-alive,会缓存在本地,在关闭窗口后,会和服务器发送断开请求,所谓的四次挥手 四次挥手: 第一次,客户端给服务器发送断开连接的请求 第二次,服务器给客户端发送收到你的断开连接请求了可以断开连接 第三次,服务器给客户端发送:我已经把你需要的所有数据都发送给你了,我要断开连接了哦 第四次,客户端给服务器返回,我已近收到了数据了,再见.断开连接 5.页面渲染 解析html.构建DOM树 解析css 合并ODM树和css,生成render树, 布局render 绘制render 浏览器将各层信息,发送给GPU,GPU将所有的信息合并,并渲染在页面上