专栏首页迈向前端工程师企业面试题: 浏览器是如何渲染页面的?

企业面试题: 浏览器是如何渲染页面的?

考核内容: 对浏览器的认知及数据流的实现

题发散度: ★★★★★

试题难度: ★★★

解题思路:

业务描述:

第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。

第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。

第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。

第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。

第五步:重复第四步,直到找到正确的纪录。

渲染的流程:

1.解析HTML文件,创建DOM树。

自上而下,遇到任何样式(link、style)与脚本(script)都会阻塞(外部样式不阻塞后续外部脚本的加载)。

2.解析CSS。优先级:浏览器默认设置<用户设置<外部样式<内联样式<HTML中的style样式;

3.将CSS与DOM合并,构建渲染树(Render Tree)

4.布局和绘制,重绘(repaint)和重排(reflow)

本文分享自微信公众号 - 迈向前端工程师(shukeh5),作者:舒克老湿

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 企业面试题: 请描述WEB常用状态码的含义

    状态码的职责是当客户端向服务器发送请求时,描述返回的请求结果。借助状态码,用户可以知道服务器端是正常处理了请求还是出现了错误。

    舒克
  • -企业面试题: display:none和visibility:hidden的区别?

    - display:none 隐藏对应的元素,在文档布局中不再给它分配空间,它各边的元素会合拢,就当他从来不存在。

    舒克
  • JS基础测试: 10+'10'%9*4 的结果是?

    舒克
  • Whonow:一款可实时执行DNS重绑定测试的DNS服务器

    今天给大家介绍的是一款能够帮助渗透测试人员实时执行DNS重绑定(Rebinding)测试的DNS服务器。

    FB客服
  • 怎么使用腾讯云服务器搭建个人网站?

    从刚开始的简单学习HTML语言,到进入实验室跟着老师,学长学习Java,Android,这一年收获很多,这并不是说我的编程能力得到了多高的提升,而是我认为自己的...

    用户6430829
  • 提升钓鱼成功率看这七点建议

    在红蓝对抗当中,钓鱼攻击被越来越多的红队使用,因为员工的安全意识薄弱,导致钓鱼成功的可能性很大,因为钓鱼事件导致内网被入侵的事件比比皆是,作为红队的一员做钓鱼测...

    信安之路
  • 是时候让大家看看你用django写出来

    博客的基础功能已经开发的差不多了,虽然还有很多地方可以完善,但我们还是希望早点把博客部署到服务器上,让他人可以通过外网访问。至于有待完善的地方,可以等部署完后一...

    py3study
  • 如何在小程序中实现 WebSocket 通信

    在以前的文章中,我们介绍了HTTP通讯,这种通讯有一个缺点,如果我想从直接从服务器发消息给客户端,需要客户端先发起HTTP请求后服务器才能返回数据,且后续服务器...

    Lonely永夜
  • Windows Server 2008 R2 终端服务器远程授权激活

    13. 在此处指定远程桌面的授权方式与许可证服务器,许可证服务器就是我们刚才激活的服务器。

    SuperDream
  • 小白安装Discuz!Q教程,学不会你过来打我!

    你知道吗?小白也可以安装Discuz!Q啦!你不需要敲代码也不用懂太多的技术,严格按照下面的安装教程操作,就可以成功安装上Discuz!Q。 在开始之前,我们...

    腾讯云DNSPod团队

扫码关注云+社区

领取腾讯云代金券