• 1:浏览器工作原理


    1)浏览器的组成 

    //1 人机交互部分 [ UI ]
    
    //2 网络请求部分 [ Socket ]
    
    //3 JavaScript引擎部分 [ 解析执行JavaScript ]
    
    //4 渲染引擎部分 [ 渲染HTML、CSS等 ]
    
    //5 数据存储部分 [ cookie HTML5中的本地存储 LocalStorage SessionStorage ]

    一 内核 渲染引擎

    1)概念

    //1 渲染引擎又叫 排版引擎 或者 浏览器内核
    
    //2 主流的渲染引擎: webkit等

    2)工作原理

     构建DOM树       ->      构建渲染树       ->      布局渲染树      ->     绘制渲染树
     
    //1 解析HTML构建DOM树
    
    //2 构建渲染树 渲染树 != DOM树 像head meat display:none等这样的元素就没有必要放在渲染树中
    
    //3 对渲染树 进行布局 定位坐标和大小、确定是否换行、确定position overflow z-index等 这个过程叫 layout 或 reflow
    reflow 本意:页面重排 layout 本意:布局
    //4 绘制渲染树 调用操作系统底层API进行绘图操作

    webkit工作流程

    
    

    Mozilla的Geoko渲染引擎主流程 

     3)页面layout 和 reflow过程

    //1 过程还是比较复杂的
    
    //2 需求:在页面上点击一下button 按钮  生成50个p标签 存放在一个div中

    错误做法: for循环 每创建一个p就添加到页面中 会进行50次layout操作 性能不高

    正确做法: 先创建好50个p 一次性添加到页面中 只进行了1次layout操作 性能提高

    二  浏览器访问服务器过程

     

     

  • 相关阅读:
    6)图[5]最短路径
    6)图[4]关键路径
    6)图[3]拓扑排序算法
    6)图[2]Prim算法[最小生成树]
    Aprori算法[关联规则算法]
    K-Modes算法[聚类算法]
    linux Centos6.7 python交互模式下回退异常问题解决
    Python-面向对象(二)-Day7
    Python-面向对象(一)-Day7
    (error) MISCONF Redis is configured to save RDB snapshots
  • 原文地址:https://www.cnblogs.com/fuyunlin/p/14536022.html
Copyright © 2020-2023  润新知