-1

我需要确定用户输入的域是标准域,例如example.co.uk还是 TLD,例如co.uk.

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

仅作为背景,我正在构建一个与子域一起使用的工具,例如sub.domain.example.co.uk,需要能够将子域的每个部分溢出到子域、域和 TLD 部分。

谢谢,

汤姆

4

1 回答 1

2

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

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

浏览器制造商和其他相关方显然没有找到任何解决方案来解决这个缺乏手动构建和维护列表的问题。即使这是一个不完整的解决方案。例如,我知道在加拿大您可以将域注册为<your-label>.ca<your-label>.<province>.ca<your-label>.<municipality>.<province>.ca,但当前版本的 Mozilla 列表仅考虑了前两种可能性。(无论如何,列出所有市镇都太麻烦了)。

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

此外,如果公共/私人领域的区别被用于安全目的(例如在网络浏览器中用于禁止超级cookies),谁说一所大学内的不同部门不会像不同大学那样相互不信任做?有一条众所周知的建议适用:你不应该试图用技术解决方案来解决政治问题。

于 2012-01-24T13:34:45.120 回答