• 从一个url地址到最终页面渲染完成


    1、DNS解析,将域名地址解析为ip地址

          -- 浏览器DNS缓存

           -- 系统DNS缓存

           -- 路由器DNS缓存

           -- 网络运营商DNS缓存

           -- 递归搜索,blog.baidu.com

            - .com域名下查找DNS解析

               - .baidu域名下查找DNS解析

               -  blog域名下查找DNS解析

             -  出错了

    2、TCP链接,TCP三次握手

      -- 第一次握手,浏览器发起,告诉服务器我要发送请求了

      -- 第二次握手,有服务器发起,告诉浏览器我准备接收了,你赶紧发送吧

      -- 第三次握手,由浏览器发起,告诉浏览器,我马上发了准备接收吧

    3、发送请求

      -- 请求报文,HTTP协议的通讯内容

    4、接收响应

      -- 响应报文

    5、渲染页面

      -- 遇见HTML标记,浏览器调用HTML解析器解析成Token并构成dom树

         -- 遇见style/link 标记,浏览器调用css标记被构建树

      -- 遇到script表示,调用javascript 解析器,处理script代码(绑定时间,修改dom树/cssom树)

      --  将dom树和css树合并成一个渲染树

      -- 根据渲染树来计算布局,计算每个节点的几何信息(布局)

      -- 将各个节点颜色绘制到页面上(渲染)

      注意:这五个步骤不一定按照顺序执行,如果dom树或cssom树被修改了,可能会执行         多次布局和渲染,往往实际中这些步骤都会执行多次

    6、断开连接,TCP四次挥手

      -- 第一次挥手浏览器发起,发送给服务器,我东西发完了(请求报文)你准备关闭吧

         --  第二次挥手,有服务器发起,告诉服务器,我东西接收完了(请求报文) 我准备关闭了你也准备吧

      -- 有服务器发起,告诉浏览器,我东西发完了(响应报文)你准备关闭吧

      -- 有浏览器发起,我东西接收完了,我准备关闭了(响应报文)你也准备吧

  • 相关阅读:
    阻止元素默认行为
    微信小程序--页面的生命周期和参数传递
    微信小程序-查询快递
    小程序-冒泡事件
    SpringMVC-使用、运行流程、配置文件寻找
    OpenCV-安装使用、图像处理
    Spring-AOP:JoinPoint、各种通知、基于XML和注解的AOP、声明式事务
    Spring-AOP:开发准备、初识动态代理、使用步骤、
    Spring-IOC:Bean的作用域、生命周期、XML的装配、注解注入、@Autowired
    Spring-IOC:复杂值注入、各种类型赋值、bean的复用
  • 原文地址:https://www.cnblogs.com/chen-cheng/p/12624500.html
Copyright © 2020-2023  润新知