浏览器相关
文章平均质量分 91
mxydl2009
这个作者很懒,什么都没留下…
展开
-
浏览器网络与安全
HTTP协议 HTTP/0.9 只有一个请求行,并没有 HTTP 请求头和请求体,因为只需要一个请求行就可以完整表达客户端的需求了。 服务器也没有返回头信息,这是因为服务器端并不需要告诉客户端太多信息,只需要返回数据就可以了。 返回的文件内容是以 ASCII 字符流来传输的,因为都是 HTML 格式的文件,所以使用 ASCII 字节码来传输是最合适的。 HTTP/1.0 支持多种类型的文件下载是 HTTP/1.0 的一个核心诉求 增加了请求头和响应头来支持多种不同类型的数据 首先,浏览器需要知道原创 2020-07-29 14:21:06 · 791 阅读 · 0 评论 -
浏览器页面的事件循环系统
概述 由于浏览器页面的渲染进程的主线程要执行很多任务,如DOM构建、样式计算、布局计算、绘制、JavaScript执行、接收输入事件等,并且这些任务因为需要交互性来不断产生,无法事先安排,因此需要一个任务调度系统来统筹规划这些任务的执行。在浏览器中,统筹调度任务的系统就是事件循环系统(Event-Loop) 事件与循环 事件循环系统在于事件和循环这两个概念 事件:接收外部的输入事件,产生任务 循环:线程执行完任务后并不退出,而是循环等待输入事件产生的任务并执行 其实这两个概念使用ES6的generator函原创 2020-07-27 15:28:13 · 347 阅读 · 0 评论 -
浏览器中的JavaScript执行机制
执行上下文 变量提升 在JavaScript代码执行时,JavaScript引擎把变量和函数的声明提升到代码开头的“行为”,提升后的变量会设置默认值undefined,函数声明是有值的。 变量提升发生在JavaScript的编译阶段。 JavaScript的执行流程 JavaScript代码会经过编译后再执行 编译阶段 生成执行上下文 生成可执行代码 执行上下文之环境变量 JavaScript执行一段代码时的运行环境,保存代码执行时的变量环境、词法环境、外部执行上下文outer和this。比如调用函原创 2020-07-26 12:43:32 · 522 阅读 · 0 评论 -
浏览器架构、渲染原理与页面优化
注:以下内容来自于极客时间李兵老师的《浏览器工作原理与实践》课程总结 浏览器架构 多进程架构 概述 现代浏览器采用多进程架构的模式,一般而言,一个页面会是一个渲染进程(可能存在同一站点same-site多页面复用同一个渲染进程的情况),另外,还有浏览器的主进程、GPU进程、网络进程、插件进程等等。如下图 各个进程的功能 主进程:主要负责界面显示、用户交互、子进程管理,同时提供存储等功能。 渲染进程:核心任务是将 HTML、CSS 和 JavaScript 转换为用户可以与之交互的网页,排版引擎 Blin原创 2020-07-24 15:23:20 · 604 阅读 · 1 评论