[运维面试题Day2]DNS解析步骤,浏览器访问过程

[运维面试题Day2]DNS解析步骤,浏览器访问过程

📕作者:喜欢水星记

🏆系列:每日必背面试题,本系列将记录笔者每天总结的面试题,每天积累一点点,三个月将会发生质变,内容来源网络改编

🔋收藏:希望大家点个关注一起学习

简述DNS进行域名解析的过程

以某个用户访问百度(www.baidu.com)为例

  1. 当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的 IP 地址
  2. 当浏览器缓存中无域名对应 IP 则会自动检查用户计算机系统DNS缓存,再检查本地的host文件是否有该域名对应 IP。
  3. 当浏览器及系统缓存中均无域名对应 IP 则进入路由器缓存中检查。
  4. 当在用户客服端查找不到域名对应 IP 地址,则将进入 ISP DNS 缓存中进行查询。比如你用的是电信的网络,则会进入电信的 DNS 缓存服务器中进行查找。(ISP是运营商)
  5. 当以上均未完成,则进入根服务器进行查询。全球仅有 13 台根域名服务器,1 个主根域名服务器,其余 12 为辅根域名服务器。根域名收到请求后会查看区域文件记录,若无则将其管辖范围内顶级域名(如.com、.cn等)服务器 IP 告诉本地 DNS 服务器。
  6. 顶级域名服务器收到请求后查看区域文件记录,若无记录则将其管辖范围内权威域名服务器的 IP 地址告诉本地 DNS 服务器。
  7. 权威域名服务器接受到请求后查询自己的缓存,如果没有则进入下一级域名服务器进行查找,并重复该步骤直至找到正确纪录。
  8. 本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时将该结果反馈给客户端,客户端通过这个 IP 地址即可访问目标Web服务器。至此,DNS递归查询的整个过程结束。

简单概括的过程为:

  1. 查看浏览器缓存
  2. 查看系统缓存
  3. 查看路由器(本地DNS服务器)缓存
  4. 查看ISP DNS 缓存
  5. 询问根域名服务器
  6. 询问顶级域名服务器
  7. 询问权威域名(主域名)服务器
  8. 保存结果至缓存

简述浏览器访问一个网页的全过程

1, 开打浏览器输入网址,然后回车;

2, DNS解析域名,查找网页对应的IP地址

​ 浏览器对输入网址的域名进行DNS解析,获取域名的IP地址;(重要细节:浏览器首先要查看DNS缓存和hosts文件,如果这两个地方都没有域名的IP地址,再向网络发起DNS查询)

3, 客户端和服务器通过三次握手建立TCP连接

4, 发出HTTP请求

5,服务器处理请求并返回HTTP响应报文

6,浏览器解析渲染界面

​ 分析数据净核,根据不同情况处理,比如说,返回的是一个html页面,则渲染这个页面(可以理解为显示出来),渲染的过程中会遇到一些数据标记,比如图片,这时候就查找本地缓存,如果缓存里有且没过期,就使用本地缓存的数据,否则就向服务器发送请求,从2开始。同时还要下载和运行js代码。

7,四次挥手释放TCP连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值