DNS域名解析步骤

更新日期: 2019-06-11阅读: 5k标签: 域名

整个过程大体描述如下,其中前两个步骤是在本机完成的,后8个步骤涉及到真正的域名解析服务器:


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


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


3.前两个过程无法解析时,就要用到我们网络配置中的"DNS服务器地址"了。操作系统会把这个域名发送给这个LDNS,也就是本地区的域名服务器。这个DNS通常都提供给用户本地互联网接入的一个DNS解析服务,例如用户是在学校接入互联网,那么用户的DNS服务器肯定在学校;如果用户是在小区接入互联网,那么用户的DNS就是再提供接入互联网的应用提供商,即电信或联通,也就是通常说的SPA,那么这个DNS通常也会在用户所在城市的某个角落,不会很远。Windows环境下通过命令行输入ipconfig,Linux环境下通过cat /etc/resolv.conf就可以查询配置的DNS服务器了。这个专门的域名解析服务器性能都会很好,它们一般都会缓存域名解析结果,当然缓存时间是受到域名的失效时间控制的。大约80%的域名解析到这里就结束了,所以LDNS主要承担了域名的解析工作。


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


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


6.本地域名服务器LDNS再向上一步返回的gTLD服务器发送请求


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


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


9.返回该域名对应的IP和TTL值,LDNS会缓存这个域名和IP的对应关系,缓存时间由TTL值控制


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


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


链接: https://www.fly63.com/article/detial/3654

如何通过自定义域名方式访问本地WEB应用

自定义域名访问本地WEB应用,本地安装了WEB服务端,怎样通过自定义域名方式实现从公网访问本地WEB应用?本文将介绍具体的实现步骤。安装并启动WEB服务端的默认安装的WEB端口是80。可以在万网、百度云、腾讯云、西部数码等等域名服务商注册并购买域名。

微信域名防封技术,微信域名总是被封如何解决

本身在网站要想在微信中推广,多多少少都会有预防被拦截,是专门为运营网站和公众号的运营者一个研究的工具几十你是正常网站,也是公司企业备案,照样也会被拦截。这个被拦截一般来说就是你的这个域名已经在微信中打不开了

DNS域名解析过程

我们都知道在浏览器通过域名发起一个网络请求的时候,会有DNS服务器将域名解析成ip地址,以便向正确的ip地址发送请求,那么这一个过程具体是怎么处理的呢?今天整理了一下DNS域名解析的过程。大致分为10步:

A记录、CNAME和URL转发区别

我们在做域名解析时,尤其是很多虚拟主机,大都会使用到CNAME解析,独立主机、VPS则用A记录较多,而URL转发则会在更换域名时用到,从设置效果来看,都是“解析”到一个“其它”URL地址,而实际上它们之间还是有些区别的

域名为什么会被腾讯屏蔽封禁如何查询微信域名是否被屏蔽的方法

域名为什么会被腾讯屏蔽封禁:1.域名来源,在微信有过黑历史,被人使用过在微信有过不良记录,后来被人为各种方法恢复后转到你手上

网站域名被墙是什么?

如果域名ping的通却打不开网站(排除服务器宕机),用代理可以打开一般说明域名被封了。假如域名下的网站非法信息多,敏感,又不整改,会直接被GFW墙掉,结果就是访问域名是打不开的。但是解析是正常的。此时域名在国内是无法使用的

为什么很多网站的静态资源使用独立的域名?

不根据访问的条件变化的资源就是静态资源,比如 html,js,css,webfont 等文件。避免发送无意义的 cookie ,当我们的浏览器第一次请求服务器的时候,会根据服务器响应报文中的 set-Cookie 来保存cookie

node如何绑定域名?

网上大部分答案是用使用nginx的反向代理,我记录一下apache服务器怎么设置。在Apache的配置文件中,打开 mod_proxy 和 mod_proxy_http 等等,即去掉 httpd.conf 中的#

原生js判断域名合法性_验证域名是否合法

生活中我们肯定会见到很多域名(domain name,简称domain)。域名有很多形式,以句点(.)作为分隔符。这里说的域名是纯域名,不是网址,不包括http://(或https://),也不带斜线。

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!