前端杂记(三)

2019 / 08 / 08

页面渲染机制

输入一个url到渲染完成整个页面会发生什么,这是考量一个前端开发工程师对web认知的最好的问题,清晰的回答出每个过程的工程师无疑都是领域的佼佼者或者专家。

一个url在浏览器输入之后回车然后会发送一个http请求,经过一系列的DNS解析,ip协议的路由查找,tcp建立连接,分组传输的过程之后,返回一个http响应报文。

这个content-type: text/html的响应报文会带着整个页面的内容。当浏览器拿到这些数据,并且知道他是html的时候,就开始解析这个数据。解析html是从上到下的。

webkit内核是有很多部分组成的,各种解释器协作完成页面的渲染,比如html解释器解析html,然后发现script标签或者stylesheet link就会加载数据,直到script脚本解析完成,css解释器解析完成css,才会由layout去继续渲染dom树。

但是解析html和解析css和渲染dom树并不是同一个模块完成的,所以html解析和css解析都不会互相阻塞,同时js解析也不会阻塞html和css的解析,但他们同时会阻塞布局。

所以会发现css,js文件同时开始加载了,最后才出现的dom。

dom渲染完成之后会发生各种图片,视频,音频的加载和渲染,以及canvas绘图,这些都是dom触发的行为,比如dom是图片,那么渲染完成就会去加载图片,比如dom有背景图,那么就会去加载这个背景图。因此,图片都是在dom完全渲染的时候去加载的。

加载资源都是网络模块,web存储是存储模块,而操作系统支持,可以实现多线程的渲染和并行加载,这个就我也不太懂了。

四大计算机基础课

四门计算机考研课程分别是组成原理,操作系统,计算机网络和数据结构。组成原理从硬件的角度分析了计算机的构成,计算机的本质依然是机械,操作系统是计算机的第一层软件,操作系统让计算机变得可操作,操作系统和组成原理就能构成一个pc机,而计算机网络让客户端或者主机可以互相连接,数据结构和算法是把现实世界映射到了软件当中。

进程和线程

这是操作系统的一个概念。

cpu是一个工厂。

每个进程是一个车间。

每个线程是一个工人。

每个指令是工人做的一件事。

车间和工人同时属于工厂,工人可以进出车间,在工厂里干活。

所以说线程是cpu调度的基本单位,指令就是任务,cpu的主频表示工作速度的快慢。

核心数是cpu的一个能力指标,一般一个核心可以发出一个线程,cpu也可以是双核心四线程或者四核心八线程的,具体可以看看参考文章的第二个回答,非常准确。

参考文章

阮一峰老师的多进程讲解

双核四线程是什么意思

嗨,请先 登录

加载中...
(๑>ω<๑) 又是元气满满的一天哟