当你在浏览器输入了一句话

2022-09-13 16:05:19 浏览数 (1)

前言

  你经常使用电脑搜索问题,是否有想过当你在电脑的浏览器上属于了一个词语回车后进行查找时,它到底经过了哪些步骤能够在你获取到查询结果之前,下面文章就来简单认识下吧!

经历步骤

  • 1、检查浏览器缓存看是否存在域名和IP的映射,如果存在,则直接返回对象的IP,然后通过IP向服务器访问地址栏的资源。
  • 2、如果没有命中浏览器缓存,则会检查当前操作系统的缓存是否存在对应的解析过程。在操作系统中,也存在着如下的解析过程: C盘 -> window文件夹 -> System32 -> drivers -> etcs -> hosts。如果在对应的hosts中配置了域名对应的ip,则会优先使用配置的,这是hosts文件被设置只读的原因(因为如果hosts被恶意修改,这样会在访问时被指向恶意的第三方地址,从而实现域名劫持)
  • 3、如果操作系统缓存和hosts也没有命中,则会请求本地域名解析系统(LDNS)进行解析,这个解析系统分布在各个区域,一般是找离当前机器最近的。
  • 4、如果第3步完成也没有找到域名对应的IP,此时LDNS则会将解析请求发送给根域名解析器(Root Server)进行解析。
  • 5、根域名解析接收到LDNS的解析请求后,会返回一个当前解析请求查询域中的主域名服务器地址(gTLD Servcer)
  • 6、本地域解析系统在接收到这个地址后,将解析请求再发送给对应的主域名服务器进行解析。
  • 7、主域名服务器根据这个解析请求返回域名对应的网站注册的域名服务器。
  • 8、网站注册域名服务器则根据域名去查询到对应的IP地址并返回给本地域名解析系统,本地域名解析系统缓存当前域名和IP的映射关系,然后将结果返回给用户。
  • 9、用户接收到解析结果并根据对应的TTL值缓存到本地系统中,域名解析过程结束。
  • 10、域名解析后,得到需要访问的IP地址,然后通过IP地址,客户端访问指定服务器的资源。

额外知识

DNS即域名解析系统, 可以简单的理解为是存储域名和IP地址映射关系的一个数据表,被设计出来的目的是为了让用户不用记住繁琐的IP地址,而是可以直接通过容易记住的域名进行访问网站。

域名的TTL值: 指的是一条域名解析记录在域名服务器存留的时间,TTL值只能在权威服务器修改。

存在的场景: 当本地域名服务器接收到解析请求,但是缓存中不存在对应的解析记录时,会将解析请求发送到根域名服务器,根域名服务器则会返回解析请求中对应的主域名/顶级服务器地址,然后本地服务器再将解析请求发送给顶级域名服务器进行解析获取到响应的结果 ,本地服务器再获取到这个结果后会缓存在服务器一段时间,如果在缓存时间内再获取到对应的结果,则会直接响应解析请求,这个存留的时间就称为TTL值。

写在最后

  一个操作背后竟然隐藏着这么多步骤,经验就是一个积累的过程,没有谁能够一步登天,所以脚踏实地才是成功的秘诀。

0 人点赞