22 lines
1.3 KiB
Plaintext
22 lines
1.3 KiB
Plaintext
## Web 页面请求过程
|
||
|
||
1. 向 DNS 服务器发送 DNS 查询报文来解析域名。
|
||
|
||
2. 在运输层,DNS 查询报文会放入端口号为 53 的 UDP 数据报中。
|
||
|
||
3. 在网络层,UDP 数据报封装进 IP 分组中,路由器会执行路由选择算法来转发分组。
|
||
|
||
4. 在链路层,IP 分组会封装进链路层帧中,此时需要使用 ARP 来查询 MAC 地址,通过 ARP 得到 MAC 地址之后就可以进行链路层传输了。
|
||
|
||
5. 在 DNS 服务器返回域名的 IP 地址后,就可以开始进行 HTTP 会话了。
|
||
|
||
6. 要进行 HTTP 会话,需要建立 TCP 连接。TCP 连接的建立需要进行进行 TCP 的三次握手。TCP 连接建立后会保持持久连接。
|
||
|
||
7. 客户端发送 HTTP 请求报文,请求获取页面。
|
||
|
||
8. 如果存在缓存服务器,并且缓存服务器上有该页面,那么缓存服务器通过 HTTP 响应报文向客户端发送缓存的页面。否则,服务器发送该页面。
|
||
|
||
9. 浏览器得到页面内容之后,解析并渲染,向用户展示页面。
|
||
|
||
10. 当客户端不再需要连接时,发送的 HTTP 请求报文中包含 Connection: close 字段,从而释放 TCP 连接,TCP 连接的释放需要进行四次握手过程。
|