深入浏览器内部谈性能优化

article/2025/11/10 21:34:03

1. 浏览器发展历史

a. 1995 年,美国网景公司因“网景浏览器”的发布而快速崛起

b. 同年,微软发布windows95,捆绑IE

c. 2002年,微软占据了浏览器市场80%的份额

 

2. 浏览器三大进化路线(Web应用能做的事以及未来发展趋势)

a) 应用程序Web化,如:视频、音频、游戏

b) Web应用移动化,如:谷歌新推出的PWA方案

c) Web操作系统化,如,SOA,WebAssembly

 

3. 学习浏览器的重要性

a) 准确评估 Web 开发项目的可行性

i. 技术选型

ii. 方案规划

b) 从更高维度审视项目

i. 用户体验

ii. 整体观感

c) 在快节奏的技术迭代中把握本质

i. 脚本执行速度

ii. 前端模块化开发

 

4. 进程与线程

a) 概念

i. 线程:用来处理程序任务,不能单独存在

ii. 进程:即是一个程序运行的实例。启动一个程序的时候,操作系统会为该程序创建一块内存,用来存放代码、运行中的数据和一个执行任务的主线程,我们把这样的一个运行环境叫进程。

iii. 线程图解如下:

iv.

深入浏览器内部谈性能优化

 

v. 线程是依附于进程的,而进程中使用多线程并行处理能提升运算效率

b) 进程与线程的四大特点

i. 进程中的任意一线程执行出错,都会导致整个进程的崩溃。

ii. 线程之间共享进程中的数据

1. 如图:线程之间可以对进程的公共数据进行读写操作

2.

深入浏览器内部谈性能优化

 

iii. 当一个进程关闭之后,操作系统会回收进程所占用的内存

iv. 进程之间的内容相互隔离

5. 渲染流程:HTML+CSS+JS是如何渲染成页面的?

a)

深入浏览器内部谈性能优化

 

从上图可以看出,左边的HTML、CSS、JS经过中间渲染模块的处理,变成了用户在屏幕上看到的元素

b)

深入浏览器内部谈性能优化

 

由于渲染机制过于复杂,所以渲染模块在执行过程中会被划分为很多子阶段,输入的 HTML 经过这些子阶段,最后输出像素。我们把这样的一个处理流程叫做渲染流水线。如图:

深入浏览器内部谈性能优化

 

c) 按照渲染的时间顺序,流水线可分为如下几个子阶段:构建 DOM 树、样式计算、布局阶段、分层、绘制、分块、光栅化和合成

i. 构建dom树

1. 原因:浏览器无法直接理解和使用 HTML,所以需要将 HTML 转换为浏览器能够理解的结构——DOM 树

2. 树结构:

a)

深入浏览器内部谈性能优化

 

b) 构建过程:

c)

深入浏览器内部谈性能优化

 

ii. 样式计算

1. 将CSS转化成浏览器能够理解的结构

a) CSS来源,如图所示

b)

深入浏览器内部谈性能优化

 

2. 转换样式表中的属性值,使其标准化

a)

深入浏览器内部谈性能优化

 

3. 计算出 DOM 树中每个节点的具体样式

a)

深入浏览器内部谈性能优化

 

iii. 布局阶段

1. 创建布局树

a) 构造过程:

b)

深入浏览器内部谈性能优化


http://chatgpt.dhexx.cn/article/Rh2shRTL.shtml

相关文章

GreenPlum数据库数据脱敏

1、首先备份要操作的数据库表,防止对原表误操作。 2、例子:数据库表名:st_person,要操作的字段为:phone 3、select phone from st_person ; --看看表里该字段是否有数据,大概格式是什么,该表…

数据库防火墙、数据库加密、数据库脱敏真的可用吗?

数据库是所有信息系统的核心,数据库的安全通常是指其中所存数据的安全,是网络安全、信息安全的重要组成部分。目前有很多相关性产品,如数据库加密、数据库防火墙、数据库脱敏、数据库审计等。 一、数据库防火墙 数据库防火墙系统:…

mysql动态脱敏查询_数据库动态脱敏

原标题:数据库动态脱敏 产品简介 中安威士数据动态脱敏系统(简称VS-DM),通过截获并修改数据库通讯内容,对数据库中的敏感数据进行在线的屏蔽、变形、字符替换、随机替换等处理,达到对用户访问敏感数据真实内容的权限控制。对存储于…

MySQL 脱敏函数

项目场景: 示例:项目涉及到敏感数据,例如手机号、姓名等使用mysql存储函数解决。 解决方案: 提示:以下主要使用mysql函数CONCAT、LEFT、RIGHT。 1、CONCAT(str1,str2,…) CONCAT()函数返回结果为连接参数产生的字符串。如有任…

跨数据库跨系统,数据脱敏有新招

作者介绍 贝壳找房DBA团队,负责链家、贝壳找房的数据库服务治理及运维,包括MySQL、Redis、Kafka、RocketMQ、TiDB等产品。为保证线上服务高效、安全、稳定运行,面向研发同学提供一站式的数据库操作平台,建设了满足99.99%标准的高可…

imperva数据库脱敏-server2008

首先安装一个server2008其他的server也行 然后安装java环境 后安装tomcat中间件 一路默认就好 这就是tomcat的控制台 然后安装postgresql数据库 官方的要求是9.1-9.3的版本。 这个数据库也是默认安装就好。里面的密码我设的的Webco123 数据库安装完成 下一步安装发现脱敏的控…

《Sharding-JDBC》——数据库分表+数据库脱敏实现方案

本文从实际情况出发,解决生产中单表数据过大,和数据被拖库导致的问题,并进行的解决方案。本案例使用的框架为轻量型的jfinal,分表数据库脱敏,均采用了Apache的shardingsphere。 首先我们要先明确这样一个业务场景&…

mysql数据脱敏_数据脱敏|静态脱敏|动态脱敏—数据库脱敏_产品

1、敏感数据自动识别 数据脱敏系统可通过预定义敏感数据特征库,在任务执行过程中通过智能匹配识别敏感数据,最大限度的实现脱敏工作自动化,简化以手工方式按字段名定义敏感数据的繁琐工作。 2、丰富的脱敏算法 数据脱敏系统内置同义替换、数据…

使用sql语句对数据库脱敏

最近帮领导整理了一下数据库,给数据库的某些字段进行脱敏,现在整理一下,嘻嘻 1、姓名脱敏 update table set 列 REPLACE(列,SUBSTR(列,2,1),*) 姓名脱敏之后的效果: 2、手机号脱敏 UPDATE table SET 列 ( CASE WHEN 列 IS NO…

数据库脱敏(mybatis 拦截器实现)

1.使用数据库本身自有的函数进行加密 UPDATE tuc_user SET mobileNo HEX(AES_ENCRYPT(mobileNo, ‘xxxxxx’)); 2.注解类 2.1 SensitiveData package com.wisedu.campuses.sensitive;import java.lang.annotation.*;/*** author MR.MEI*/ Inherited Target({ElementType.T…

数据库安全关键技术之数据库脱敏技术详解

数据库脱敏是一种采用专门的脱敏算法对敏感数据进行变形、屏蔽、替换、随机化、加密,并将敏感数据转化为虚构数据的技术。按照作用位置、实现原理不同,数据脱敏可以划分为静态数据脱敏(Static Data Masking, SDM )和动态数据脱敏(…

网页数据库设计

这次是找一个网页,写er图,然后根据er图设计模型,然后生成数据库表 我找的是起点中文网,根据这个网站做了分析,画了e-r图. 模型

Java网页应用之实现对数据库的增、删、改、查。

模拟信息管理系统 通过eclipse实现网页、数据库的连接,实现对数据库的增、删、改、查。 登陆页面: 登陆成功界面: 添加信息界面: 修改信息界面: 删除信息界面: package com.lq.pro_user.dao;import …

(网页设计+数据库增删查改)——课设展示

注:关于网页所有的代码,我已经打包好了,获取方式如下 关注微信公众号大数据智库(直接扫二维码,在我的主页的左下角),回复网页代码即可获取 课设展示 一、网页部分成果展示1、动态显示日期2、动态…

网页实现数据库的增删改查

最近在做项目web后台数据增删查改的时候,看到一篇较为详细的经典文章, 所以转载了下来, 文章出处在:https://blog.csdn.net/qq_32539825/article/details/70657340 如果作者认为侵权的告诉我,我立马删。 首先jsp 和…

通过JSP网页连接Mysql数据库

本文介绍通过JSP网页连接到MySQL,从MySQL数据库中读出一张表,并显示在JSP网页中。 1. 在MySQL数据库中建立数据表 用图形化管理工具Navicat Premium 连接MySQL数据库,在数据库“ming”下建立一张名为“teacher”的数据表。 2. 设置Tomcat 1)将JDBC…

网页连接mysql教程_网页怎么连接到数据库?

网页连接到数据库的方法:首先创建一个网页连接数据库的PHP代码文件;然后解决浏览器编码问题并指定数据库字符集;最后通过“mysql_select_db”函数选择并连接数据库即可。 HTML是无法读取数据库的,HTML是页面前端脚本语言&#xff…

网页JS自动化脚本(八)使用网页专属数据库indexedDB进行数据收集

我们在网页上进行的活动,往往都需要进行收集一些简单的数据,但是因为浏览器的安全原因,浏览器基本上是无法与本地的操作系统直接产生数据交互的,这本来就是一个由于安全问题生产的无解问题,在浏览器里面是内置了几种数据库的,其中一种就是indexedDB,可以用来储存一些非常小的数…

网页连接数据库,一个简单的登入界面以及实现登入功能

基于V#的ASP.NET.MVC 4 web 网站程序开发 接着上篇继续,上篇地址为https://blog.csdn.net/weixin_42534390/article/details/86576537 我们首先要有一个认知,就是ASP.NET.MVC 4 web 网站程序开发的三层架构概念,分别为BLL,DAL,MOD 这三层的概…

JavaWeb 网页链接数据库增删改查

今天是web的第五节课,上一节课只涉及到了查询和增加,这一节课我们学习网页链接数据库进行增删改查,今天的内容更多的也是代码,理论内容较少,现在小编带大家进入新的一课。 目录 一.查 二.增 三.删 四.修 五.数据库…