在浏览器中输入一个URL都发生了什么

  1. 浏览器查看本地缓存(cookie),如果请求资源在本地缓存中,直接将资源提供给客户端,否则进行查找

  2. 浏览器解析URL获取协议、主机、端口等信息,更具域名获取主机IP(DNS解析)

  3. 找网关MAC,将目的MAC改为网关MAC发送到网关

  4. 根据目的IP判断和源IP是否在同一网段(根据子网掩码计算),在同一网段根据ARP协议找到MAC地址,否则进行第五部

  5. 网关将数据发送到公网(根据NAPT协议将局域网IP映射为公网IP),将源IP和MAC改为公网IP,目的MAC改为最近的MAC

  6. 根据公网发送的目的MAC在网络上多次跳转找到目的IP和目的MAC

  7. 进行TCP三次握手建立连接,过程如下:
    ① 客户端发送SYN给服务端要求建立客户端到服务端的连接
    ② 服务端收到后确认建立客户端到服务端的连接发送ACK,并发送SYN给客户端要求建立服务段到客户端的连接
    ③ 客户端收到服务端的建立消息后,发送ACK给服务段告诉服务段自己也确认了从服务端到客户端的连接

  8. 通过TCP连接先服务器发送HTTP请求

  9. 服务端根据请求头解析请求信息,通过请求对应的URL确定服务资源

  10. 更具服务资源返回对应的想应内容给客户端

  11. 浏览器收到资源后判断是否要断开连接(TCP四次挥手)过程如下:
    ① 浏览器发送FIN到服务端请求关闭连接
    ② 服务端收到消息后发送ACK给浏览器告诉浏览器确认关闭浏览器到服务端的连接
    ③ 服务端发送FIN到客户端情趣关闭服务段到客户端的连接
    ④ 客户端发送ACK到服务段告诉服务端确认关闭服务段到客户端的连接
    为啥要四次挥手,三次挥手不行吗?
    因为客户端发送关闭连接的请求后,服务端的有些资源可能没有全部发送到客户端,直接关闭会导致资源丢失,所以要等一会在关闭

  12. 浏览器解析客户端的响应。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值