访问百度的过程详解

目录

1. DNS 域名解析

DNS 域名解析过程:

具体过程为:

2. 向服务器请求数据

3. 涉及的协议

应用层:

传输层:

网络层:

网络层:


DNS 域名解析-->向服务器请求数据-->涉及的协议

1. DNS 域名解析

首先,需要将 www.baidu.com 通过 DNS 解析获得百度的 IP 地址。

DNS (域名系统):DNS 协议运行在 UDP 协议之上,使用端口为 53。

DNS 域名解析过程:

浏览器缓存 --> 系统 host 缓存 --> 本地域名服务器 --> 请求根服务器 --> 主(顶级)域名服务器 --> 网站注册的域名服务器 --> 本地域名服务器返回ip 地址

具体过程为:

1. 浏览器首先查询浏览器的缓存,因为浏览器会按照一定的频率缓存 DNS 记录。

2. 若浏览器无缓存,那么查询操作系统的 HOST 文件,查询是否有 DNS 记录。

3. 若还没有命中域名,就请求本地域名服务器该服务器一般都会缓存域名查询结果,因此大部分域名解析都能在这里解析完成。

4. 若本地域名服务器还没有命中,就地域名服务器请求根服务器,根服务器返回一个所查询域的主域名服务器(国际顶尖域名服务器,如.com,.cn,.org等),这里访问的是 www.baidu.com 百度,即返回 .com 的主域名服务器。

5. 本地域名服务器 继续访问 主域名服务器,查找这个域名网站注册的域名服务器

6. 本地域名服务器 继续访问 本地域名服务器,根据映射关系表找到目标 IP 地址,返回给 本地域名服务器

本地域名服务器拿到 IP 地址后,对这个域名和 IP 地址进行缓存,并将 IP 地址返回浏览器,至此,DNS 域名解析过程结束,拿到域名对应的 IP 地址

访问百度的过程详解_第1张图片

 

2. 向服务器请求数据

拿到百度的服务器地址后,浏览器开始向该 IP 地址发起 HTTP/HTTPS 会话请求,而 HTTP/HTTPS 协议皆基于 TCP 协议,因此,在进行 HTTP 请求之前,浏览器还需要与百度服务器进行三次握手,建立 TCP 连接。因此,步骤如下:

1. 与服务器进行三次握手,建立 TCP 连接。三次握手传送门

2. 发出 HTTP/HTTPS 请求,由于我们访问的是 www.baidu.com ,因此请求的是百度首页。

3. 服务器响应数据发送给客户端浏览器,即百度首页数据。

4. 通过四次挥手,TCP 连接释放。四次挥手传送门

5. 浏览器对首页数据进行解析渲染,将最终的页面效果展示给用户

3. 涉及的协议

访问百度的过程详解_第2张图片

应用层:

HTTP:客户端向服务器发起 HTTP 会话请求。

DNS:域名解析服务,解析服务器的 ip 地址。

传输层:

TCP:HTTP/HTTPS 基于 TCP 协议进行传输。

UDP:传输层,DNS 域名解析的传输通过 UDP 协议传输。

网络层:

IP:IP 数据包传输和路由选择。

网络层:

ICMP:提供网络传输过程中的差错检测。

ARP网络层,将本机默认网关 ip 地址映射成物理 MAC 地址。

你可能感兴趣的:(web基础知识点,网络基础,web安全,安全,tcp/ip)