首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么新的DNS记录不能立即在全球范围内获得?

为什么新的DNS记录不能立即在全球范围内获得?
EN

Server Fault用户
提问于 2013-04-06 15:00:23
回答 4查看 282关注 0票数 -1

简单案例:

  1. 我注册一个域
  2. 指定2个名称服务器
  3. 安装网站托管
  4. 访问我的浏览器中的域

此时浏览器告诉我它无法解析主机,大概是因为DNS记录尚未传播(即清除集体DNS服务器缓存).

不过,这对我来说很奇怪。

为什么没有在浏览器中立即解析域?为什么浏览器/路由器/名称服务器不能简单地将DNS查询转发到权威服务器,而不能返回缓存的查询结果,而这些结果似乎“找不到主机,yourNewDomain.tld”。

我可能对此有很大误解。我真的很感谢你的澄清。

谢谢

EN

回答 4

Server Fault用户

发布于 2013-04-06 15:09:41

这就是TTL的用途。它指定名称服务器清除缓存和获取新信息之前的时间长度。

票数 2
EN

Server Fault用户

发布于 2013-04-06 16:05:36

问:为什么浏览器/路由器/名称服务器不能简单地将DNS查询转发到权威服务器,而不能返回缓存的查询结果,这似乎是“找不到主机,yourNewDomain.tld”。

答:因为您的名字服务器还没有从您的注册服务器“发布”到父服务器(S)。假设您的域是.com,您的注册员需要将您域的名称服务器“发布”到.com gTLD服务器,这意味着gTLD服务器在您的注册官将该信息“发布”到.com gTLD服务器之前不知道您的域的哪些名称服务器是权威的。

此外,名称服务器不返回缓存的结果,它们不返回结果,换句话说,它们返回的是NXDOMAIN (不存在的域),因为出于所有目的和目的,在父服务器知道您的名称服务器之前,您的域并不存在。

票数 2
EN

Server Fault用户

发布于 2013-04-06 16:12:45

你的问题将是两件事之一:

  • 域名还没有从您的注册商发布: @joeqwerty和@YLearn已经很好地报道了这一点。
  • 域已经发布,但是您或其他人在它出现在权威的名称服务器: 之前询问了一条记录--这就是所谓的负缓存,下面将对此进行解释。

DNS中有两个常见的缓存概念:

  • 缓存: --这是大多数人所熟悉的。当缓存服务器从权威名称服务器获得答案时,缓存服务器在TTL期间将响应保存在内存中。缓存服务器将为(total TTL - how long record has been in cache)的记录报告一个TTL。您可以通过向权威名称服务器查询相同的记录来确定原始TTL。
  • 负缓存: --人们不太熟悉的概念。这类似于缓存,但设计的目的是在记录不存在时防止缓存服务器过度工作。由于没有记录,所以没有TTL:相反,应该负缓存的记录的持续时间由SOA记录的最后一个数字字段决定。

-

代码语言:javascript
复制
$ dig +noall +answer serverfault.com SOA
serverfault.com.        3600    IN      SOA     ns1.serverfault.com. sysadmins.stackoverflow.com. 2013020902 600 600 604800 1440

在上面的示例中,serverfault.com的负缓存间隔为1440秒。如果在发布之前向缓存服务器请求记录,则可能会出现负缓存的风险。

相关答案:负缓存通常持续多长时间?

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/496828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档