如何通过DNS记录区分域和TLD

时间:2012-01-23 14:21:21

标签: dns tld

我需要确定用户输入的域名是否为标准域名,例如example.co.uk,还是仅包含TLD,例如co.uk

有没有办法可以做到这一点,例如通过使用nslookupdig命令查询名称服务器?

仅仅是为了背景,我正在构建一个适用于子域的工具,例如: sub.domain.example.co.uk并且需要能够将子域的每个部分分散到子域,域和TLD部分。

谢谢,

汤姆

1 个答案:

答案 0 :(得分:2)

您试图解决的“问题”甚至没有明确定义。

无法从DNS本身获取此信息。 DNS不区分您所谓的子域,域和TLD。

浏览器制造商和其他相关方显然没有找到任何解决方案building and maintaining a list manually。甚至那是一个不完整的解决方案。例如,我知道在加拿大,您可以将域名注册为<your-label>.ca<your-label>.<province>.ca<your-label>.<municipality>.<province>.ca,但current version of Mozilla's list仅会考虑前两种可能性。 (无论如何,列出所有城市都会过于繁琐)。

更重要的是,什么是“公共”域和“私有”域之间的界限不是技术域。除非您是日本的大学(或类似机构),否则您不应该在ac.jp下注册域名。除非您是东大(或类似)内的部门,否则您不应该在u-tokyo.ac.jp下注册域名。这两个限制在技术层面上并没有根本的不同,但其中一个域被认为是“公共”而另一个则不是。这是政治/法律的差异。

此外,如果出于安全目的使用公共/私有域的区别(例如在Web浏览器中用于禁止supercookies),谁说一所大学内的不同部门不会相互不信任不同的大学呢?有一条众所周知的建议适用:你不应试图通过技术解决方案解决政治问题。