浏览器输入一处网址的时候,会发生什么事情
1.请求部分
- 首先判断请求的地址是不是一个域名,如果是域名,则进入步骤2
- 地址是一个域名,需要向
DNS服务器
进行查询域名所对应的主机号,因为只有主机号才能找到互联网中的主机,首先确定采取的是运输层的UDP
协议,即应用层发一个报文下去UDP
发送请求DNS
查询的时候,会优先向本地域名服务器进行查询(可能不止一个),如果查询不到的话,会采用递归查询的方式向另外一个本地域名服务器进行请求。(递归即域名服务器会进行代理查询)。- 如果查询不到的话,会向权限域名服务器进行查询,权限域名服务器采取迭代查询的方式,即如果没有对应关系的话,会找到下一台权限域名服务器的地址返回给客户端,由客户端开启另外的
UDP
请求
- 拿到
ip
地址后。先明确输入地址是一个get
请求,以http
为例吧,会将请求加上请求头,然后转为字节流传到运输层,然后发送TCP
请求。 TCP
首先要进行三次握手创建连接状态。建立连接后,将应用层下来的字节流根据大小封装成TCP
数据包,然后进行传输,采用滑动窗口的形式进行传输数据。- 服务端的
TCP
接受到所有数据后,会将字节流按正确的顺序合并在一起,然后进行协议升级,确认是http</