输入URL
输入url以后,我们才会知道去哪个地方寻找数据。当我们拿到 url 以后,会去本地缓存查看一下,之前有没有去请求过。若没有,我们就需要前往 url 地址所指向的地址,然而其它地方不认识我们的域名,所以需要人对我们的域名解析成为 ip 地址;
DNS解析
把域名解析成为 ip 地址的过程,我们称之为 DNS解析;当拿到解析后的 ip 地址,我们也就知道该去什么地方了;
TCP三次握手
在知道具体地址以后,也不会直接把数据发送出去的,我们不知道对方服务端是否有响应。此时会发送一条数据包(ACK),当服务端接收到数据包以后,会返回我们的数据包并且加上一个确认收到的数据包(ACK+SYN)。当客户端收到确认数据包以后,就会建立一条通道(SYN);
发送HTTP请求
建立好通道以后,客户端就会正式发送HTTP请求。包含信息:请求行(请求方法、请求地址、HTTP协议版本)、请求头(浏览器信息,由键值对组成)、空行(表示请求头部结束)、请求数据
响应HTTP请求
当服务器接收到HTTP请求以后,会处理请求报文,并且做出响应。包含信息:状态行(例如404)、响应头部(返回数据类型)、空行、响应数据
页面渲染
拿到服务端返回的数据以后,我们就开始进行渲染,也就是解析我们的HTML