zoukankan      html  css  js  c++  java
  • 浏览器及其内核工作原理

    一、浏览器工作原理

    浏览器

    浏览器内核

    IE

    Trident内核

    Firefox

    Gecko内核

    Safari/Chrome

    Webkit内核

    Opera

    Presto内核

    现在Chrome内核是Blink

    Blink内核

    1.启动

    •  启动应用(老板开公司)

    •  计算机创建进程(创建一个公司)

    •  操作系统分配内存(找场地)

    •  应用创建线程(找工人)

    2.关闭

    •   关闭应用(倒闭)

    •   结束进程(场地关闭)

    •   释放内存(场地空闲出来)

    节省内存:

    浏览器限制了最大进程数,达到限制,新开的tab页面会共用之前相同站点的渲染进程

     

    二、内核工作原理

     

    内核:渲染引擎和js引擎。

    渲染引擎

    用来显示请求的内容,如果请求内容为html,那么负责解析html及css并将解析后的结果显示出来。还可以解析xml文件。

    js引擎:

    用来解释执行js代码。

    渲染流程:

     

    用户输入URL整个过程发生了什么?

    •   输入url

    •   浏览器解析url,获得主机名

    •   将主机名转换成服务器ip地址(查找本地DNS缓存列表,如果没有则向默认的DNS服务器发送查询请求)

    •    TCP 连接:TCP 三次握手,简易描述三次握手 客户端:服务端你在么? 服务端:客户端我在,你要连接我么? 客户端:是的服务端,我要链接。 连接打通,可以开始请求

    •   发送 HTTP 请求

    •   服务器处理请求并返回 HTTP 报文

    •   浏览器解析渲染页面

    •   断开连接:TCP 四次挥手

     

    浏览器解析渲染页面过程:

    •   解析HTML,生成DOM树

    •   解析CSS,生成CSSOM(层叠样式表模型:CSS Object Model)树

    •   将DOM树和CSSOM树关联,生成渲染树(Render Tree)

    •   布局render树(Layout/reflow),负责各元素尺寸、位置的计算

    •   绘制render树(paint),绘制页面像素信息

    •   将像素发送给GPU(图形处理器,是显卡的核心引擎),展示在页面上。(Display)

  • 相关阅读:
    flash player over linux
    chmod 命令
    A*算法
    adb找不到设备
    ubuntu14.04安装wine以及国际版QQ
    linux man
    X-window
    linux file system
    linux command
    directUI
  • 原文地址:https://www.cnblogs.com/renyuqianxing/p/14489685.html
Copyright © 2011-2022 走看看