在输入一个url到返回页面,中间发生了什么?

     在浏览器中输入url,客户端先检查本地是否有对应的ip地址,如果找到了则返回响应的ip地址,如果没有找到则会请求DNS服务器,返回解析后的ip地址。应用层客户端发送HTTP请求,包括请求头和请求体。其中请求头包含了重要的信息,包括请求的方法,目标url,遵循的协议,返回的信息是否需要缓存,客户端是否发送cookie等。然后传输层TCP协议传输报文,三次握手四次挥手,三次握手,发送端发送滴带有SYN标示的数据给接收端,接收端接受到数据包后,返回一个SYN/ACK标志的数据包表示确认信息,接收端接收后在发送一个带有ACK表示接到请求,连接成功。然后网络层ip协议查询mac地址,ip协议把TCP分割好的各种数据包发送给接收方,而要保证确实能传到接收方需要mac地址,物理地址是唯一的。ip地址和mac地址是一一对应的关系,一个网络设备可以换,但是mac地址是不能变的。数据到达链路层,客户端发送请求的极端就结束了。

     服务器接受请求,在层层向上直到应用层。接受到HTTP请求后,查找资源并返回响应报文,响应报文有一个重要的信息就是状态码,返回数据渲染压面最后呈现给客户。

原文地址:https://www.cnblogs.com/zhangshuyang/p/8064933.html