xiaolincoding.com/network/1_b…
总体来说分为以下几个过程:
- DNS解析
- TCP连接
- 发送HTTP请求
- 服务器处理请求并返回HTTP报文
- 浏览器解析渲染页面
- 连接结束
1. 浏览器做的第一步工作是解析 URL,浏览器确定了 Web 服务器和文件名,生产 HTTP 请求信息
2. DNS解析,查询服务器域名对应的 IP 地址
3. HTTP 是基于 TCP 协议传输的,所以要三次握手建立tcp连接,HTTP 请求消息比较长,tcp需要把http数据分块发送
4. 下面就交给网络层生成ip数据包,有了路由和寻址功能
5. 生成了 IP 头部之后,接下来网络包还需要在 IP 头部的前面加上 MAC 头部(发送和接收的mac)。通过ARP协议广播,找到目标mac,自身的mac在自身网卡里。(存在ARP缓存)
6. 在就来到物理层,包括网卡会在其开头加上报头和起始帧分界符,在末尾加上用于检测错误的帧校验序列。将二进制的数字信号,转为电信号发给对方
- 交换机:将网络包转发到目的地,工作在mac层,二层网络设备,工作在局域网里
- 交换机根据 MAC 地址表查找 MAC 地址,然后将信号发送到相应的端口。
- 路由器--三层网络设备
- 网络包经过交换机到了路由器,并再此处转到目的地。
- 路由器是基于 IP 设计的,俗称三层网络设备,路由器的各个端口都具有 MAC 地址和 IP 地址;
- 而交换机是基于以太网设计的,俗称二层网络设备,交换机的端口不具有 MAC 地址。
- MAC 头部的作用就是将包送达路由器
URI 和 URL 的区别是什么?
- URI(Uniform Resource Identifier) 是统一资源标志符,可以唯一标识一个资源。
- URL(Uniform Resource Locator) 是统一资源定位符,可以提供该资源的路径。它是一种具体的 URI,即 URL 可以用来标识一个资源,而且还指明了如何 locate 这个资源。
URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL 是一种具体的 URI,它不仅唯一标识资源,而且还提供了定位该资源的信息