1.输入网址
输入要访问的网址,即URL
2.缓存解析
浏览器获取URL后,先去缓存中查找资源,从浏览器缓存-系统缓存-路由器缓存中查看;
如果有就从缓存中显示界面,不再发送请求;
如果没有,则发送http请求;
3.域名解析
发现缓存中没有资源,发送http请求;
在发送http请求之前,需要进行DNS解析(域名解析);
DNS解析:域名到IP地址的转换过程,域名的解析工作由DNS服务器完成,解析后可以获取域名相应的IP地址;
4.tcp连接,三次握手
在域名解析后,浏览器向服务器发起了http请求,tcp连接;
因为tcp协议时面向连接的,所以在传输数据前必须建立连接,即三次握手;
tcp连接建立后,浏览器开始向服务器发送http请求,请求数据包。请求信息包含一个头部和一个请求体;
5.服务器收到请求
服务器收到浏览器发送的请求信息,返回一个响应头和一个响应体。
6.页面渲染
浏览器收到服务器发送的响应头和响应体,进行客户端渲染,生成Dom树,解析css样式,js交互。