一、经过DNS解析返回IP地址
- 在浏览器DNS缓存中搜索
- 在操做系统DNS缓存中搜索
- 读取系统hosts文件,查找其中是否有对应的ip
- 向本地配置的首选DNS服务器发起域名解析请求
二、发起TCP三次握手创建链接
为了准确地传输数据,TCP协议采用了三次握手策略。发送端首先发送一个带SYN(synchronize)标志的数据包给接收方,接收方收到后,回传一个带有SYN/ACK(acknowledegment)标志的数据包以示传达确认信息。最后发送方再回传一个带ACK标志的数据包,表明握手结束。在这过程当中若出现问题中断,TCP会再次发送相同的数据包。
TCP是一个端到端的可靠的面向链接的协议,因此HTTP基于传输层TCP协议不用担忧数据的传输的各类问题。
三、客户端发送http请求
HTTP请求包括请求报头和请求主体两个部分,其中请求报头包含了相当重要的信息,包括请求的方法(GET / POST)、目标url、遵循的协议(http / https / ftp…),返回的信息是否须要缓存,以及客户端是否发送cookie等。html
四、网络层IP协议查询MAC地址
IP协议的做用是把TCP分割好的各类数据包传送给接收方。而要保证确实能传到接收方还须要接收方的MAC地址,也就是物理地址。IP地址和MAC地址是一一对应的关系,一个网络设备的IP地址能够更换,可是MAC地址通常是固定不变的。ARP协议能够将IP地址解析成对应的MAC地址。当通讯的双方不在同一个局域网时,须要屡次中转才能到达最终的目标,在中转的过程当中须要经过下一个中转站的MAC地址来搜索下一个中转目标。
五、服务端把传过来的数据进行排序(保证顺序)
tcp将接收到的报文段进行排序,按序号以原来的顺序进行重组请求报文浏览器
六、服务器发送响应,请求处理的结果也利用TCP向客户端进行回传
服务接收到客户端发送的HTTP请求后,查找客户端请求的资源,并返回响应报文,响应报文中包括一个重要的信息——状态码。状态码由三位数字组成,其中比较常见的是200 OK表示请求成功。301表示永久重定向,即请求的资源已经永久转移到新的位置。在返回301状态码的同时,响应报文也会附带重定向的url,客户端接收到后将http请求的url作相应的改变再从新发送。404 not found 表示客户端请求的资源找不到。
缓存
7. 浏览器解析html
- 构建DOM树
- 下载资源
- CSS - 构建CSSOM树
- js - 等下下载并执行后解析
8. 浏览器布局渲染
- 布局:经过计算获得每一个渲染对象在可视区域中的具体位置信息(大小和位置),这是一个递归的过程。
- 绘制:将计算好的每一个像素点信息绘制在屏幕上