- 首先在地址栏输入url地址后,会优先在本地缓存中查找资源,若缓存中有,则不再发送http请求,直接从缓存中显示页面,这样可以提升查询的速度。若缓存中没有,则发送http请求。
- 在发送http请求之前,会先进行DNS域名解析。DNS域名解析就是把域名映射成IP地址的过程,它是依托在DNS服务器上完成的。解析完成以后,会得到域名对应的IP地址。
- 在拿到IP地址以后,就可以与服务器通过TCP三次握手建立连接。
- 在客户端会发送请求,在服务端查找相应的资源库。
- 服务端发送HTTP响应报文给客户端,客户端拿到相应的页面静态资源。
- 客户端拿到静态资源以后,通过TCP四次挥手关闭客户端与服务端的连接。
- 浏览器对资源文档进行解析,并渲染页面。
浏览器解析文档的过程
- 解析HTML文档,生成DOM树。
- 解析CSS文档,生成CSS树。
- JS是通过DOM API 和CSS API来操作DOM树和CSS树的。
- 解析完成以后,会根据生成的DOM树和CSS树来生成渲染树,并计算每个元素节点的位置,这个过程叫做回流。
- 调用操作系统的图形用户接口来绘制页面。