识别URL
识别协议(如:http、ftp)、域名(如:Google.com)、文件路径(如:/html/index.html)和端口(如:80)
查找本地host文件
询问本地域名服务器
询问根域名服务器
根据IP地址访问服务器
连接目标IP并建立TCP连接
向目标服务器发送http请求
web服务器接收请求后处理
web服务器返回相应的结果【无效、重定向、正确页面等】
浏览器接收返回的http内容
开始解析html文件,当然是自上而下,先是头部,后是body
当解析到头部css外部链接时,同步去下载,如果遇到外部js链接也是下载【不过js链接不建议放在头部,因为耽误页面第一展现时间】
接着解析body部分,边解析边开始生成对应的DOM树,同时等待css文件下载
一旦css文件下载完毕,那么就同步去用已经生成的DOM节点+CSS去生成渲染树
渲染树一旦有结构模型了,接着就会同步去计算渲染树节点的布局位置
一旦计算出来渲染的坐标后,又同步去开始渲染
如果遇到图片则跳过去渲染下面内容,等待图片下载成功后会返回来在渲染原来图片的位置
如果渲染过程中出现js代码调整DOM树机构的情况,也会再次重新来过,从修改DOM那步开始
最终所有节点和资源都会渲染完成
渲染完成后开始page的onload事件
整个页面load完成