一个网页显示需要经历哪些过程

当我们在浏览器输入一个URL或者说点击一个URL开始,到页面显示出来,需要经过哪些过程呢?

浏览器加载页面时间线

浏览器加载页面的时间线如下图所示,主要过程均包含在下图中。

浏览器加载页面全过程

浏览器加载页面重要过程

浏览器页面准备:如unload前一个页面、初始化资源等。重定向:如果服务端返回header中定义了重定向才会有这个过程,如果没有重定向,不会产生这个过程。app cache:会先检查这个域名是否有缓存,如果有缓存就不需要DNS解析域名。这里的app是值应用程序application,不指手机app。DNS解析:把域名解析成IP,如果直接用ip地址访问,不产生这个过程。TCP连接:http协议是经过TCP来传输的,所以产生一个http请求就会有TCP connect,但是依赖于长连接,不会产生这个过程。发送请求:请求服务端资源。接受请求:接受服务端返回数据。解析HTML结构加载外部脚本和样式表文件:正常来说JS、css都是外部加载的。解析并执行脚本代码构建与解析HTML DOM树加载外部图片页面加载完成,页面正常显示。

浏览器请求某资源时间线

重定向过程

重定向是http协议中的规范,重定向需要和服务端通过http协议通信,因此也有着DNS解析和TCP链接等过程,具体如下:

app cachDNS解析TCP连接发送请求接受请求:响应状态码为302,且响应头中包含重定向地址Location进行重定向:将浏览器地址重定向至location指向的地址

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();