输入URL到页面渲染完成的过程其实是一系列复杂的步骤。下面我会简单地概述这个过程,希望可以帮助你记住:
1. URL 输入: 用户在浏览器中输入URL。
2. DNS 查询: 浏览器接收到URL后,会通过DNS系统解析URL的域名,得到相应的IP地址。如果浏览器缓存或者操作系统缓存中有这个域名对应的IP地址,那么这一步会更快。
3. 建立连接: 浏览器通过TCP/IP协议向服务器的IP地址发起TCP连接请求,进行三次握手。
4. 发送 HTTP 请求:连接建立成功后,浏览器会向服务器发送HTTP请求,包含了请求头和请求体等信息。
5. 服务器处理请求并返回 HTTP 响应: 服务器收到HTTP请求后,会处理请求,然后返回一个HTTP响应给浏览器,响应中包含了响应头和响应体(即所请求的html页面内容)。
6. 浏览器解析 HTML: 浏览器接收到服务器返回的HTML内容,然后解析HTML,构建DOM树。
7. 加载 css 和 JAVAScript: 在解析HTML的过程中,如果遇到CSS文件和JavaScript文件的链接,浏览器会发送请求去获取并加载这些文件。CSS会被用来构建CSSOM树,JavaScript在获取到后会立即执行。
8. 渲染页面:当DOM树和CSSOM树构建完成后,浏览器会将二者组合生成渲染树(Render Tree),然后计算渲染树上每个节点的布局,最后绘制到屏幕上,完成页面的首次渲染。
9. 执行 JavaScript:如果HTML中还包含JavaScript,那么浏览器在适当的时机(如DOMContentLoaded事件)会执行这些JavaScript代码。这些代码可能会修改DOM结构或CSS样式,导致页面重新渲染。
10. 加载异步资源: 页面在首次渲染完成后,可能还会通过JavaScript加载其他异步资源(如图片,其他JavaScript模块等)。这些资源加载并处理完后可能会再次导致页面渲染。
以上就是从输入URL到页面渲染完成的整个过程。每个步骤都有很多细节,可以深入学习。