美文网首页
域名解析流程

域名解析流程

作者: 梦舟缘钓 | 来源:发表于2019-08-29 17:25 被阅读0次

引用至博客 https://blog.csdn.net/qq_36326947/article/details/72864528

当一个用户在浏览器中输入www.xxx.com时,DNS解析将会有将近10个步骤:

第1步,浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,这个解析过程就将结束。浏览器缓存域名也是有限制的,不仅浏览器缓存大小有限制,而且缓存的时间也有限制,通常情况下为几分钟到几小时不等,域名被缓存的时间限制可以通过TTL属性来设置。这个缓存时间太长和太短都不好,如果缓存时间太长,一旦域名被解析到的IP有变化,会导致被客户端缓存的域名无法解析到变化后的IP地址,以致该域名不能正常解析,这段时间内有可能会有一部分用户无法访问网站。如果时间设置太短,会导致用户每次访问网站都要重新解析一次域名。

第2步,如果用户的浏览器缓存中没有,浏览器会查找操作系统缓存中是否有这个域名对应的DNS解析结果。其实操作系统也会有一个域名解析的过程,在Windows中可以通过C:\Windows\System32\drivers\etc\hosts文件来设置,你可以将任何域名解析到任何能够访问的IP地址。如果你在这里指定了一个域名对应的IP地址,那么浏览器会第二优先使用这个IP地址。例如,我们在测试时可以将一个域名解析到一台测试服务器上,这样不用修改任何代码就能测试到单独服务器上的代码的业务逻辑是否正确。正是因为有这种本地DNS解析的规程,所以黑客就有可能通过修改你的域名解析来把特定的域名解析到它指定的IP地址上,导致这些域名被劫持。

这导致早期的Windows版本中出现过很严重的问题,而且对于一般没有太多电脑知识的用户来说,出现问题后很难发现,即使发现也很难自己解决,所以Windows 7中将hosts文件设置成了只读的,防止这个文件被轻易修改。

在Linux中这个配置文件是/etc/named.conf,修改这个文件可以达到同样的目的,当解析到这个配置文件中的某个域名时,操作系统会在缓存中缓存这个解析结果,缓存的时间同样是受这个域名的失效时间和缓存的空间大小控制的。

前面这两个步骤都是在本机完成的。到这里还没有涉及真正的域名解析服务器,如果在本机中仍然无法完成域名的解析,就会真正请求域名服务器来解析这个域名了。

第3步,如何、怎么知道域名服务器呢?在我们的网络配置中都会有"DNS服务器地址"这一项,这个地址就用于解决前面所说的如果两个过程无法解析时要怎么办,操作系统会把这个域名发送给这里设置的LDNS,也就是本地区的域名服务器。这个DNS通常都提供给你本地互联网接入的一个DNS解析服务,例如你是在学校接入互联网,那么你的DNS服务器肯定在你的学校,如果你是在一个小区接入互联网的,那这个DNS就是提供给你接入互联网的应用提供商,即电信或者联通,也就是通常所说的SPA,那么这个DNS通常也会在你所在城市的某个角落,通常不会很远。在Windows下可以通过ipconfig查询这个地址。
  这个专门的域名解析服务器性能都会很好,它们一般都会缓存域名解析结果,当然缓存时间是受域名的失效时间控制的,一般缓存空间不是影响域名失效的主要因素。大约80%的域名解析都到这里就已经完成了,所以LDNS主要承担了域名的解析工作。

第4步,如果LDNS仍然没有命中,就直接到Root Server域名服务器请求解析。

第5步,根域名服务器返回给本地域名服务器一个所查询域的主域名服务器(gTLD Server)地址。gTLD是国际顶级域名服务器,如.com、.cn、.org等,全球只有13台左右。

第6步,本地域名服务器(Local DNS Server)再向上一步返回的gTLD服务器发送请求。

第7步,接受请求的gTLD服务器查找并返回此域名对应的Name Server域名服务器的地址,这个Name Server通常就是你注册的域名服务器,例如你在某个域名服务提供商申请的域名,那么这个域名解析任务就由这个域名提供商的服务器来完成。

第8步,Name Server域名服务器会查询存储的域名和IP的映射关系表,正常情况下都根据域名得到目标IP记录,连同一个TTL值返回给DNS Server域名服务器。

第9步,返回该域名对应的IP和TTL值,Local DNS Server会缓存这个域名和IP的对应关系,缓存的时间由TTL值控制。

第10步,把解析的结果返回给用户,用户根据TTL值缓存在本地系统缓存中,域名解析过程结束。

在实际的DNS解析过程中,可能还不止这10个步骤,如Name Server也可能有多级,或者有一个GTM来负载均衡控制,这都有可能会影响域名解析的过程。

相关文章

  • 域名解析流程

    引用至博客 https://blog.csdn.net/qq_36326947/article/details/7...

  • 网站解析

    网站建设流程: 购买域名; 购买空间; 上传网页到空间中; 设置域名解析; 在空间控制台绑定域名; 域名解析 域名...

  • 前端和框架(144)

    1、谈谈对http协议的认识流程:1.域名解析域名解析检查顺序为:浏览器自身DNS缓存---》OS自身的DNS缓存...

  • DNS域名解析流程

    我们上网时经常在网址栏输入www.xxx.com来访问一个网址,我们在网址上输入的是一个域名,但严格来讲这并不...

  • 输入URL后浏览器侧处理之向DNS查询域名对应的IP地址

    浏览器侧的处理流程包含输入URL,到生成请求消息,再到域名解析,最后委托操作系统发出消息。本文仅总结域名解析的过程...

  • 从输入url到页面展现的过程

    1.在浏览器里输入URL 2.域名解析 浏览器通过DNS查找这个域名对应的IP地址,域名解析流程,逐级寻找直到找到...

  • 网页的背后——从 URL 输入到页面展现发生了什么

    输入URL 域名解析域名解析其实就是将域名转换为IP地址,其流程为: 浏览器缓存:浏览器会缓存DNS记录一段时间 ...

  • 前端性能优化学习记录

    1,域名解析从右到左eg: news.baidu.com. --》 从.开始解析2,前端页面渲染流程(1)...

  • URL处理

    1、域名解析 查找流程: 2、服务器处理 服务器所需: 3、网站处理流程 Mvc模式 4、浏览器处理 Html字符...

  • HTTP 服务基础

    用户访问网站流程图 用户访问网站流程 1、用户浏览器输入网站www.happy.com回车,完成域名解析过程(DN...

网友评论

      本文标题:域名解析流程

      本文链接:https://www.haomeiwen.com/subject/ydqwectx.html