浏览器系列
文章平均质量分 85
IsPinocchio
学之广在于不倦,不倦在于固志
展开
-
HTTP1/2/3的发展和区别
不同版本HTTP 本文是对极客时间里李兵老师讲的浏览器工作原理与实践的笔记记录和总结。 HTTP/0.9 1991年提出,主要用于学术交流。最早出现的HTTP/0.9需求很简单——用来在网络之前传递HTML超文本内容。 特点: 只有一个请求行(例如:GET /index.html ,用来获取index.html),并没有HTTP 请求头和请求体,因为只需要一个请求行就可以完整表达客户端的需求了。 服务器也没有返回头信息,这是因为服务器端并不需要告诉客户端太多信息,只需要返回数据就可以了。 返回的文件内容是原创 2021-09-04 17:14:19 · 647 阅读 · 1 评论 -
从输入URL到页面呈现发生了什么?
从输入URL到页面呈现发生了什么? 按下回车后,用户发出URL请求到页面开始解析的这个过程,叫做导航。 前导 一切都从浏览器进程开始:浏览器中tab外面发生的一切都是由浏览器进程控制的。浏览器进程有很多负责不同工作的线程,其中包括绘制浏览器顶部按钮和导航栏输入框等组件的UI线程、管理网络请求的网络线程、以及控制文件读写的存储线程等。当你在导航栏里面输入一个URL的时候,其实就是UI线程在处理你的输入。 1. 用户输入-浏览器进程 用户在地址栏输入关键字后,地址栏会判断输入的关键字是搜索内容还是请求的U原创 2021-08-25 17:01:54 · 593 阅读 · 0 评论 -
V8引擎如何执行JavaScript代码的?
在了解之前,我们首先要知道几个概念:编译器、解释器、抽象语法树(AST)、字节码、即时编译器(JIT)等 1. 编译器和解释器 之所以存在编译器和解释器,是因为机器读不懂程序员所写的高级语言代码,所以在执行代码之前,需要将代码“翻译”成机器能读懂的机器代码。 然而语言又可分为编译型语言和解释型语言。 编译型语言在代码执行前需要经过编译器来进行编译,编译后会生成机器能读懂的二进制文件,这样以后每次运行程序时,直接运行二进制文件就可以了。 解释型语言是在代码执行时,通过解释器对程序边动态解释边执行。原创 2021-08-12 22:01:20 · 209 阅读 · 0 评论