从输入网址,到呈现出网页经历六个步骤。
- 输入网址
- 缓存解析
- 域名解析
- tcp连接
- 服务器接收请求
- 页面渲染
一、输入网址
输入要访问网站的url
二、缓存解析
浏览器获取该url之后,会先在缓存中查找是否有之前访问时,保存的web资源,例如图片、文字、css之类的等等
三、域名解析
在发送http协议之前,需要进行域名解析(DNS解析)。通过DNS服务器,将域名转换为IP地址,借此调出对应的页面
四、tcp连接
通过三次“握手”建立tcp连接。
1 客户端向服务器发送连接请求报文
2 服务器接收客户端发送的连接请求后回复ACK报文,并未这次连接分配资源
3 客户端接收到ACK报文之后也向服务器端发送ACK报文,并分配资源
(ACK报文,即确认字符,作用是确认发来的数据已经接受无误)
在此之后,浏览器开始向服务器发送http请求,请求信息包含一个头部和一个请求体。
五、服务器接收请求
服务器收到浏览器发送的请求信息,返回一个响应头和一个响应体。
六、页面渲染
浏览器收到服务器发送的响应头和响应体,将页面内容输入到HTML解析器,解析之后构建DOM树;JS代码交给JS引擎处理;CSS文件被CSS解释器解释成内部表示。