目录
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 地址
2.向服务器请求数据
拿到百度的服务器地址后,浏览器开始向该 IP 地址发起 HTTP/HTTPS 会话请求,而 HTTP/HTTPS 协议皆基于 TCP 协议,因此,在进行 HTTP 请求之前,浏览器还需要与百度服务器进行三次握手,建立 TCP 连接。因此,步骤如下:
1. 与服务器进行三次握手,建立 TCP 连接。三次握手传送门
2.发出 HTTP/HTTPS 请求,由于我们访问的是 www.baidu.com ,因此请求的是百度首页。
3. 服务器响应数据发送给客户端浏览器,即百度首页数据。
4. 通过四次挥手,TCP 连接释放。四次挥手传送门
5. 浏览器对首页数据进行解析渲染,将最终的页面效果展示给用户。
3.涉及的协议
应用层:
HTTP:客户端向服务器发起 HTTP 会话请求。
DNS:域名解析服务,解析服务器的 ip 地址。
传输层:
TCP:HTTP/HTTPS 基于 TCP 协议进行传输。
UDP:传输层,DNS 域名解析的传输通过 UDP 协议传输。
网络层:
IP:IP 数据包传输和路由选择。
网络层:
ICMP:提供网络传输过程中的差错检测。
ARP:网络层,将本机默认网关 ip 地址映射成物理 MAC 地址。
原文链接:https://blog.csdn.net/qq_51577576/article/details/121451856
原创文章,作者:爱运营,如若转载,请注明出处:https://www.iyunying.org/yunying/yyjc/264740.html
评论列表(1条)
原文链接:https://blog.csdn.net/qq_51577576/article/details/121451856