注:这题胜在区分度高,知识点覆盖广,再不懂的人,都能打赏几点,高手就在于根据自己擅长的领域自由发挥,从url规范,http协议,dns,cdn,数据库查询,到浏览器解析,css树构建,dom树构建,js执行等等方面
1.先查找缓存
- 首先在内存缓存中查找
- 硬盘缓存中查找
- 系统host文件中查找(当在浏览器缓存中找不到时)
- 路由器缓存中去查找
2.dns服务器系统解析域名
- 检查本机host文件系统查找缓存
- 检查本地dns缓存
- 转发至区域dns服务器解析
- 根服务器解析
通过递归或者迭代方法查解析查询,将解析到的结果加以缓存,以备下一次访问使用
3.三次握手,4次挥手
4.浏览器解析渲染过程
1.构建dom树
-浏览器将下载到的资源解析,即把0,1这些字节数据转化为字符串,就是我们写的代码,再将他们转换为token(就是一个个的标签文本等),并以此构建dom
2.构建css树
-捕获到了dom节点元素,但浏览器并不知道要怎么显示这些元素,所以还需要cssom树,他的解析过程和dom树的过程基本一样
3.构建渲染树
-这个过程并不是简单的合并两个树,渲染树会显示结点的样式信息,display:none就不会显示