从浏览器地址栏输入 URL 到显示的过程是怎么实现的?【冲击30K专栏03】
前端人
共 1060字,需浏览 3分钟
· 2021-05-26
最近刚好换了工作,把最近面试被面的问题,以及现在大多数出现的面试题以一个专题的形式一次性总结,一天一题,现在总共汇总了
150道题
,如果这些题都能答出来人人都能冲击30k
,每道题目答案没有多余扯皮的部分,就是单纯的答案。
今日题目:从浏览器地址栏输入 URL 到显示的过程是怎么实现的?
DNS解析,将域名地址解析为ip地址 浏览器DNS缓存 系统DNS缓存 路由器DNS缓存 运营商DNS缓存 再找不到就递归搜索该网址 如果找到了,就会 TCP连接:TCP三次握手 第一次握手,由浏览器发起,告诉服务器,我要发送请求了 第二次握手,由服务器发起,告诉浏览器我准备接受了,你发送吧 第三次握手,由浏览器发送,告诉服务器,我马上发送了,准备接受吧 发送请求报文 发送HTTP协议的通信内容,即请求报 接受响应 响应报文 渲染页面 遇见HTML标记,浏览器调用HTML解析器解析成Token,并构建成dom树 遇见style/link标记,浏览器调用css解析器 遇见script标记,调用javascript解析器,处理script代码(绑定时间,修改dom树/css dom树) 根据渲染树计算布局,计算每个节点的几何信息(布局) 将各个节点颜色绘制到屏幕上(渲染) 注意:这5个步骤不一定按照顺序执行,如果dom树或cssdom树被修改了,可能会执行多次布局和渲染 往往实际页面中,这些步骤都会执行多次。 断开连接:TCP的四次挥手 第一次挥手,浏览器发起,发送给服务器,我东西发送完了(请求报文),你准备关闭吧 第二次挥手,服务器发起,告诉浏览器,我东西接收完了(请求报文),我准备关闭了,你也准备吧 第三次挥手,服务器发起,告诉浏览器,我东西发送完了(响应报文),你准备关闭吧 第四次挥手,浏览器发起,告诉服务器,我东西接收完了, 我准备关闭了,你也准备吧
参考资料
http://r4v.cn/gqk4o https://zhuanlan.zhihu.com/p/260125085 https://blog.csdn.net/xiaohu_Blog/article/details/109521828
说明
每天一到面试题,人人都能冲击
30k+
,点击↓关注【鬼哥】我当前进度【#003题】,如果你能点赞分享、鬼哥骑自行车也是开心的
评论