- 浏览器解析URL, 生成HTTP请求信息
- 通过 DNS 查询服务器域名对应的 IP 地址。
- 在传输层利用IP地址和服务器建立TCP连接,生成TCP报文
- 在网络层通过IP协议将TCP报文中的数据封装成网络包发送给通信对象
- 生成了 IP 头部之后,接下来网络包还需要在 IP 头部的前面加上MAC 头部(MAC 头部是以太网使用的头部,它包含了接收方和发送方的 MAC 地址等信息。接收方的 MAC 地址则需要使用ARP协议通过广播目的IP地址的形式找到对应的MAC地址)
- 通过将网络包中的数字信息转换为电信号,实现数据在网线上的传输
- 经过网络传输,最后数据包到达服务器
- 数据包抵达服务器之后,就将数据包逐层解析,对比MAC,对比IP,看看是否是本机器的数据,然后在TCP中获取端口号,看看哪个HTTP服务正在监听该端口号,发给对应的HTTP协程。
- HTTP进程处理完毕之后,将请求的资源数据,封装到HTTP的响应报文中,同样逐层封装TCP、IP、MAC头部,但是这次发送接收的端口、IP、MAC地址,反过来用就行,不用再查询了。最后通过网络传输回客户端。
- 客户端拿到数据之后,解析出HTTP响应的报文,通过浏览器就行渲染,显示出来。