首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
浏览器的工作原理
一只小竹合
创建于2023-11-25
订阅专栏
学习浏览器的工作原理对于前端开发人员来说是非常有益的,它带来了许多重要的好处: 1.性能优化 2.调试能力提升 3.跨浏览器兼容性 4.前端框架和工具的设计 5.安全性
等 5 人订阅
共22篇文章
创建于2023-11-25
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
安全沙箱:保护浏览器系统安全
单进程架构的浏览器在安全性方面存在一些局限性,主要是由于整个浏览器共享一个进程而缺乏足够的隔离。 单进程架构使得浏览器的不同组件,如标签页、插件和渲染引擎,共享同一个进程。这意味着如果一个标签页或插件
同源策略
浏览器的安全可以化为三大块:Web页面安全,浏览器网络安全和浏览器系统安全。 首先来讲Web页面安全,如果说页面没有做安全限制,所有的资源可以接入,网站之间也可以互相执行对方的脚本文件,图片视频等等,
虚拟DOM为何能解决性能问题
呕吼,前面讲了那么多浏览器怎么去从输入url到页面展示的,现在来讲讲都听过的虚拟DOM吧。 DOM的缺陷 前面讲了DOM树的生成,我相信大家都知道DOM是个嘛玩意儿了(不知道的回头再看看,在点点赞)。
Chrome采用分层分块提高合成图像效率
显示器是怎么显示图像的 显示器一般都有一个固定的刷新频率,比如说144Hz,也就是每秒更新144张图片,更新的图片来自于显卡中前缓冲区。显示器每秒固定从前缓冲区读取144张图像并显示到显示器上。 显卡
探索网页绘制:优化CSS渲染流水线,缩短白屏时间
渲染流水线下的CSS 在Web开发中,渲染流水(Rendering Pipeline)是浏览器将HTML、CSS和JavaScript转换为用户可见页面的过程。 在这个过程中,CSS在渲染流水线中扮演
深入理解DOM:从标签到树,解析HTML的奥秘
什么是DOM DOM是文档对象模型(Document Object Model)的缩写,是一种用于表示和操作HTML、XML等文档结构的编程接口。DOM 将文档解析成一个由层层嵌套的节点组成的树形结构
任务执行的时空舞台:宏任务、微任务与DOM变化监听的完美协奏曲
随着浏览器应用的不断发展,我们在处理任务的方式上也经历了一些变革。传统的消息队列机制在某些领域已经不能满足实时性和效率的需求,因此出现了微任务的概念,使我们能够更灵活地在实时性和效率之间取得平衡。 1
XMLHttpRequest的实现
在XMLHttpRequest出现之前,如果服务端数据有更新,需要重新刷新整个页面。XMLHttpRequest提供了从web服务器获取数据的能力,如果想要更新某条数据,只需要通过XMLHttpReq
setTimeout的实现
1浏览器页面是由消息队列和事件循环系统来实现的。 接下来将会通过setTimeout和XMLHttpRequest这两个WebAPI来介绍事件循环。 浏览器如何实现setTimeout? 渲染进程中所
探索前端线程魔法:从单线程到消息队列,解密浏览器异步执行的奇妙世界
使用单线程处理好安排的任务 在执行这段代码的时候,会把所有的任务都按照顺序写进主线程中,等到线程执行时,这些任务会按照顺序在线程中依次被执行,等到所有任务执行完成之后,线程会自动推出。 在线程运行过程
栈空间和堆空间:JS的内存机制
一、JS是什么类型的语言 这是一段c语言代码,在使用之前需要先去定义变量数据类型的语言称为静态语言。 这是一段JS代码,在使用之前不需要先定义变量数据类型,在运行时检查数据类型的语言称为动态语言。 在
V8引擎是如何执行一段Javascript代码的?
在最初`V8`并没有字节码,而是将`AST`直接转换为机器码,但是随着手机的普及,`V8`生成的机器码需要占用大量的内存,但是手机的内存小,为了解决内存占用问题,引入了字节码,并且抛弃了之前的编译器
this:从JavaScript执行上下文讲解this是什么
在全局执行上下文中,`this` 的值通常指向全局对象。在浏览器中,全局对象是 `window` 对象。这是因为全局执行上下文是在全局作用域中执行的,而在浏览器中,全局作用域就是 `window` 对
作用域链和闭包
思考这个会打印出来什么内容? 执行foo()函数内部时,这一段代码的调用栈如下 一、作用域链 每个执行上下文的变量环境中都包含了一个外部引用,用来指向外部的执行上下文,这个外部引用称为outer。 当
块级作用域:var缺陷以及为什么引入let和const
JS从在变量提升这个特性,从而导致了很多与直觉不符的代码,这是JS的一个重要设计缺陷。 ES6通过引入let和const关键字来避开这种设计缺陷,但是因为JS需要保持向下兼容(毕竟还存在古老版本的浏览
垃圾回收机制:垃圾数据是如何回收的
在数据使用之后,并且不在被需要的数据称为垃圾数据,对这些垃圾数据需要进行回收来释放有限的内存空间。 垃圾回收有分为手动回收和自动回收两种策略。 在Javascript中产生的垃圾数据是由垃圾回收器来回
调用栈:为什么JS代码会出现栈溢出
调用栈是用来管理函数调用关系的一种数据结构。 一、什么是函数调用 函数调用就是运行一个函数。 在执行add之前,js引擎会为这段代码创建全局执行上下文,函数保存在全局上下文的变量环境中。 函数执行过程
JavaScript 中的变量提升、执行流程和执行上下文
一、变量提升 所谓的变量提升,是指JS代码执行过程中,JS引擎把变量的声明部分和函数的声明部分 提升到代码开头的行为,变量提升后,会给变量设置默认值undefined。 也就是函数和变量执行之前都提升
Web页面加载过程及渲染流程
Web页面加载过程 浏览器进程主要负责用户交互、子进程管理和文件存储等功能。 渲染进程的主要职责是把从网路下载的所有内容解析为可以显示和交互的页面。 网络进程是面向渲染进程和浏览器进程等提供网络下载功
HTTP请求流程:为什么很多站点第二次打开速度会很快
HTTP协议建立在TCP连接基础之上。HTTP是一种允许浏览器向服务器获取资源的协议,是web的基础。 浏览器发起HTTP请求流程 1.构建请求 首先浏览器会构建请求行,构建好后,浏览器准备发起网络请
下一页