学习前端,HTML页面构建过程是一个入门的问题,每次在地址栏输入网址,到网址渲染出来,这过程时间虽短,但是你的浏览器和远端服务器却做了很多事情,接下来就来了解一下期间发生的事情。
举个栗子:
你在网址栏输入:“www.baidu.com”
一、页面获取
- 用户输入url地址,浏览器根据域名寻找IP地址
- 浏览器向服务器发送http请求
- 服务器端接受请求,处理请求生成html代码,返回给浏览器,这时的html页面代码可能是经过压缩的
- 浏览器接收服务器响应结果,如果有压缩则首先进行解压处理,紧接着就是页面构建
一、页面构建(解析渲染)
页面构建阶段主要包括两个步骤:
1、解析HTML代码并构建文档对象模型(DOM)
页面构建阶段始于浏览器接受HTML代码时,该阶段为浏览器构建页面UI的基础,通过解析收到的HTML代码,构建一个个HTML元素,构建DOM。在这种对HTML结构化表示的形式中,每一个HTML元素都被当成一个节点,如下图
2、执行JavaScript代码
所有包含在脚本元素的JavaScript代码由浏览器的JavaScript引擎执行,例如,Firefox的Spidermonkey引擎,Chrome和Opera的V8引擎和Edge的Chakra引擎,由于代码的主要目的是提供动态页面,故而浏览器通过全局对象提供的一个API使JavaScript引擎可以与之交互并改变页面内容,
浏览器暴露给JavaScript引擎的主要全局对象使window对象,它代表了包含着一个页面的窗口。window对象使获取所有其他全局对象、全局变量(甚至包含用户定义对象)和浏览器API的访问途径。全局window对象最重要的属性就是我们经常用的document,它代表了当前页面的DOM。通过使用这个对象,JavaScript代码就能在任何程度上改变DOM,