【发布时间】:2020-04-16 21:44:20
【问题描述】:
我最近阅读了很多关于 DNS 的内容,甚至搜索了堆栈溢出的信息,但我似乎找不到这个。如有错误请指正。
假设我想访问 example.com。我理解 DNS 的工作原理是这样的
它在本地客户端计算机上查找缓存记录。如果缓存有记录,一切都很好。如果没有,则转到第 2 步。
向 Internet 服务提供商 (ISP) 提供的 DNS 解析器请求域名。
如果 DNS 解析器有域名记录缓存,则返回 IP 地址,一切正常。如果没有,则转到第 4 步。
-
DNS 解析器使用 DNS 根服务器提示文件请求根服务器为顶级域 (TLD)(即:.com、.net、.io)解析适当的名称服务器。
李> 然后请求被传递到 TLD 服务器,在这种情况下,负责 .com。 TLD 服务器有名称服务器的记录,可以解析称为权威服务器的“示例”。
-
然后,权威服务器有一个“示例”记录,并将 IP 地址返回给 ISP DNS 解析器,后者缓存该记录并将其返回给也将缓存该记录的客户端。
我的问题是假设我正在输入“example.ca”,但实际名称应该是 example.com/ca,因为 example.ca 不存在,DNS 如何确定 example.com/ca 是假设本地机器和 ISP DNS 解析器都没有缓存此记录,则正确的条目?
【问题讨论】:
-
你在上一句中描述的不是通常发生的事情,DNS 不会“弄清楚”。如果您经历过,那么只有您提供真实域名,我们才能知道这是怎么回事。
-
是的,我也是这么想的!这就像黑魔法。我尝试访问的真实域名是 Netflix.ca
标签: dns