当你在浏览器地址栏里输入一个网址敲回车之后,到底发生了什么?接下来我们一步一步来分析看看:

1、首先用户在浏览器输入网址或者通过其它应用程序请求url;

2、DNS解析域名,返回该域名所指向的网址IP地址;

3、浏览器向对应的服务器发送HTTP请求;

4、服务器接收到浏览器发送的HTTP请求;

5、服务器解析浏览器请求的URL,根据URL确定请求的目标资源文件。这个资源文件通常是一个动态页面(如ASP,PHP,JSP等文件)的网络地址(MVC结构的程序例外)。Web服务器根据动态页面文件的内容和URL中的参数,调用相应的资源(通过数据库或文件)组织数据,生成HTML页面。(注意这里生成的是一个HTML文档,里面可能包含JavaScript代码等,这里在服务器端不管HTML文档里的具体内容);

6、生成HTML文档以后,服务器响应浏览器的HTTP请求,将生成的HTML文档发送给浏览器;

7、浏览器接收请求得来的HTML文档;

8、浏览器对HTML文档进行解析,并请求HTML中链接的资源文件(如JavaScript,CSS,多媒体资源,内嵌网页)等;

9、服务器接收到浏览器对资源文件的HTTP请求以后,将相应的资源文件发送给浏览器;

10、浏览器接收到请求来的资源文件,整理并呈现到页面中(浏览器将进行重排,重绘)。在进行页面呈现的时候,浏览器会从上到下执行HTML文档,当遇到相应的脚本代码。当执行脚本时,将阻塞后面的链接资源的加载。

在此过程中,JavaScript的加载会影响其它资源的加载。CSS的加载虽然不会影响其它资源的加载,但是由于其与浏览器的渲染有关,因此加载会影响浏览器呈现和用户体验。资源加载方面,浏览器还会限制资源加载的并行连接数和最大连接数。

以上分享给你,希望对你有用,感谢浏览。