浏览器地址栏输入一个URL后回车,将会发生的事情?

识别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完成

原文地址:https://www.cnblogs.com/timeismoney/p/7365405.html