浏览器输入URL后发生了什么

298 阅读2分钟
  1. 浏览器输入 URL 地址
  2. 根据地址簿协议DNS 查找对应IP,或者更精确的HTTPDNS 查找
  3. 找到公网IP 106.114.138.24
  4. 找到目标地址,浏览器开始打包请求,普通会使用HTTP 协议请求,涉及加密传输的用HTTPS 协议 (应用层)
  5. 经过应用层封装,浏览器会将应用层的包交给下一层(传输层)去完成,使用TCP 或者UPD协议
  6. 传输层封装完毕后,会交给操作系统的网络层(IP 协议,会有源IP和目标IP)。
  7. 操作系统知道了目标IP,会判断是局域网IP 还是公网IP
    1. 操作系统在启动时候会被DHCP 协议配置IP 地址
    2. 以及默认网关的IP地址192.168.1.1
    3. 然后通过ARP协议去找到网关的MAC 地址
  8. 找到了网关的MAC 地址后,操作系统就将IP 包交给下一层MAC 层,因为有MAC地址,所以会找到网关。
  9. 网关通常是一个路由器,通过路由表找到去某个IP地址怎么走。
    1. 路由表记录着网关内所有的MAC 地址,同一个网关下的系统可以通过MAC 地址进行通信(局域网)
    2. 网关也会经常沟通,沟通协议为路由协议,常用的OSPF和BGP
  10. 数据包通过一层一层的网关。。。
  11. 最后一个网关会通过ARP 协议去询问目标IP 的MAC地址
  12. 通过目标MAC 地址会找到目标服务器
  13. 之后一层一层解析
  14. 请求到达传输层TCP 协议,这时会回复一个数据包,这个数据包会说明目标地址收到数据(只是说明)
  15. TCP 层会有一个端口号,通过端口号去找到服务器的目标进程
  16. 目标进程的服务处理完后,会再发送一个应用层的HTTP数据包,回复源浏览器,该数据包会原路返回。