当输入一个网址之后浏览器发生了什么

1.输入url,dns服务会解析域名和ip地址,
2.然后在缓存中寻找,没有找到就向上一级dns寻找直到找到
3.在应用层准备一个http请求,请求包括请求头请求行请求主体(方法,目标url,浏览器的一些信息,是否缓存,是有有cookies)
4.然后在传输层进行数据分割,为了能准确无误地将数据送到目标,tcp协议采用三次握手,首先发送带syn标志地数据包,服务器接到后回传一个带syn/ack标志地确认信息,最后客户端在发送一个带ack标志地数据包表示连接成功。握手中断会在此发送相同的数据包,
5.然后数据到达网络层ip,ip负责把数据包传送对对方,就需要ip地址和mac地址,IP地址和MAC地址是一一对应的关系,一个网络设备的IP地址可以更换,但是MAC地址一般是固定不变的。ARP协议可以将IP地址解析成对应的MAC地址。当通信的双方不在同一个局域网时,需要多次中转才能到达最终的目标,在中转的过程中需要通过下一个中转站的MAC地址来搜索下一个中转目标。
6.找到mac之后数据到达链路层,发送给服务器
7.服务器接受到数据,通过分层顺序还原http请求进行处理,返回响应报文,(状态码,响应头,响应主体)
8.客户端接受到返回的数据进行数据渲染。

应用层 HTTP:WWW访问协议,DNS:域名解析服务
1.DNS查找过程,先找浏览器缓存里面有没有,在看操作系统缓存(host文件)里面是否有这个域名对应的DNS解析结果,如果没有,发送数据包到DNS服务器,DNS服务器找到解析所得IP地址返回给用户;
2.浏览器会给web服务器发送一个http请求。
传输层 TCP:HTTP提供可靠的数据传输,UDP:DNS使用UDP传输
TCP报文段需要设置端口,TCP报文段=TCP首部(包含发送方和接收方的端口信息)+HTTP数据报
网络层 IP:IP包传输和路由选择,ICMP:提供网络传输中的差错检测,ARP:将本机的默认网关IP地址映射城物理MAC地址
TCP报文段在嵌入IP数据包中。IP数据包需要知道双方的IP地址
IP数据包=IP头部(IP地址信息)+TCP报文段
在网络接口层
IP数据包嵌入到数据帧(以以太网数据包)在网络上传送,
数据帧中包含源MAC地址和目的MAC地址(通过ARP地址解析协议得到的)
数据帧=头部(MAC地址)+IP数据包
数据包经过多个网关的转发到达指定服务器,请求对应端口的服务。
服务器收到发送过来的以太网数据包,开始解析
以太网数据包提取IP数据包——>TCP报文段——>http数据包
并组装成有效数据交于对应线程池中分配线程进行处理,生成request、response对象

请求处理完成之后,服务器返回一个http响应。
浏览器一同样的过程读取到http响应的数据包,然后浏览器对接收到的HTML页面进行解析,展示。

参考:从 输入网址(URL)到页面展示的过程

参考:TCP/IP协议,三次握手(建立链接),四次握手(断开链接)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值