面经-在浏览器中输入 url 地址 ->> 显示主页的过程(面试常客)

215 阅读2分钟

url输入到展示出来的过程.jpg

xiaolincoding.com/network/1_b…

总体来说分为以下几个过程:

  1. DNS解析
  2. TCP连接
  3. 发送HTTP请求
  4. 服务器处理请求并返回HTTP报文
  5. 浏览器解析渲染页面
  6. 连接结束

各种协议与HTTP协议之间的关系.png

1. 浏览器做的第一步工作是解析 URL,浏览器确定了 Web 服务器和文件名,生产 HTTP 请求信息

2. DNS解析,查询服务器域名对应的 IP 地址

image.png 3. HTTP 是基于 TCP 协议传输的,所以要三次握手建立tcp连接,HTTP 请求消息比较长,tcp需要把http数据分块发送

11.webp 4. 下面就交给网络层生成ip数据包,有了路由和寻址功能

5. 生成了 IP 头部之后,接下来网络包还需要在 IP 头部的前面加上 MAC 头部(发送和接收的mac)。通过ARP协议广播,找到目标mac,自身的mac在自身网卡里。(存在ARP缓存)

19.webp

6. 在就来到物理层,包括网卡会在其开头加上报头和起始帧分界符,在末尾加上用于检测错误的帧校验序列。将二进制的数字信号,转为电信号发给对方

数据包.drawio.webp

  1. 交换机:将网络包转发到目的地,工作在mac层,二层网络设备,工作在局域网里
  • 交换机根据 MAC 地址表查找 MAC 地址,然后将信号发送到相应的端口
  1. 路由器--三层网络设备
  • 网络包经过交换机到了路由器,并再此处转到目的地。
  • 路由器是基于 IP 设计的,俗称三层网络设备,路由器的各个端口都具有 MAC 地址和 IP 地址;
  • 交换机是基于以太网设计的,俗称二层网络设备,交换机的端口不具有 MAC 地址。
  • MAC 头部的作用就是将包送达路由器

URI 和 URL 的区别是什么?

  • URI(Uniform Resource Identifier) 是统一资源标志符,可以唯一标识一个资源。
  • URL(Uniform Resource Locator) 是统一资源定位符,可以提供该资源的路径。它是一种具体的 URI,即 URL 可以用来标识一个资源,而且还指明了如何 locate 这个资源。

URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL 是一种具体的 URI,它不仅唯一标识资源,而且还提供了定位该资源的信息