美文网首页
输入URL到页面渲染的整个流程

输入URL到页面渲染的整个流程

作者: 木子川页心 | 来源:发表于2019-03-06 17:41 被阅读62次

    DNS查询

    DNS查询分为DNS迭代查询(由客户端去做请求)和递归查询(由系统配置的DNS服务器去做请求,得到结果后将数据返回给客户端)

    比如访问www.google.com时会进行如下操作(迭代查询)
    1.操作系统会首先在本地缓存中查询IP
    2.没有的话会去系统配置的DNS服务器中查询
    3.如果还没有,会去DNS根服务器查询,这一步查询会找出负责com这一级域名的服务器
    4.然后去该服务器查询google这个二级域名
    5.接下来三级域名的查询是我们配置的,可以给www这个域名配置一个IP

    TCP握手

    应用层会下发数据给传输层,这里TCP协议会指明两端的端口号,然后下发给网络层。网络层的IP协议会确定IP地址,并且指示了数据传输中如何跳转路由器,然后包会再被封装到数据链路层的数据帧结构中,最后就是物理层传输了。

    TLS握手

    数据在进入服务端之前,可能还会先经过负载均衡的服务器,它的作用就是将请求合理的分发到多台服务器上,这时假设服务器端会响应一个HTML文件。
    1.首先浏览器判断状态码是什么
    2.浏览器开始解析文件,如果是gzip格式的话会先解压一下,然后通过文件的编码格式知道如何解压

    渲染流程

    1.先会根据HTML构建DOM树,有CSS的话会去构建CSSOM.如果遇到script标签的话,会判断是否有async或者defer,前者会并行进行下载并执行JS,后者会先下载文件,然后等待HTML解析完成后顺序执行。
    如果以上都没有,就会阻塞住渲染流程知道JS执行完毕。遇到文件下载的话就会去下载文件
    2.CSSOM树和DOM树构建完成后会开始生成Render树,这一步就是确定页面元素 的布局、样式等诸多方面的东西,

    相关文章

      网友评论

          本文标题:输入URL到页面渲染的整个流程

          本文链接:https://www.haomeiwen.com/subject/oxdxpqtx.html