将子域转换为域名(子 TLD 与 TLD)

Posted

技术标签:

【中文标题】将子域转换为域名(子 TLD 与 TLD)【英文标题】:Convert subdomain to domain name (sub TLD vs TLD) 【发布时间】:2012-06-29 07:22:59 【问题描述】:

我编写了一个从主机名中“提取”域的函数。 例如

www.domain.com -> domain.com
domain.net -> domain.net
www.domain.co.uk -> domain.co.uk
www.subdomain.domain.tx.us -> domain.tx.us

等等。

但是我无法找到所有 subTDL 的列表。

函数也会为 nominet.uk 等域返回错误结果

我可以在哪里找到所有这些建议?

或任何其他方式来执行相同的功能,但使用假设 DNS?

【问题讨论】:

【参考方案1】:

使用 DNS(或任何其他算法)是不可能的,因为没有关于什么是“子域”的正式定义。

目前唯一实用的解决方案是通过http://publicsuffix.org/ 提供的“公共后缀”列表。

此列表包含管理员已知的那些域,其中不同的子域被颁发给不同的第三方。

它的主要用途是帮助执行跨域安全策略 - 例如,“foo.co.uk”的服务器不能在“co.uk”上设置域 cookie,然后将其提供给任何其他子域。

【讨论】:

是的,我指的是同一个文件。 @Nick 是的,我知道。我正在添加上下文,以及解释它的父站点的链接,而不仅仅是原始文件。【参考方案2】:

有描述所有子***域名的公开文件位于:

http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1

【讨论】:

以上是关于将子域转换为域名(子 TLD 与 TLD)的主要内容,如果未能解决你的问题,请参考以下文章

变化域名.tld进入网址:www.domainname.tld

网站部署一级域名二级域名子域名

查找 TLD 下的所有域

顶级域名中的数字?

高级 HTACCESS 子域重定向(foo.dom2.com 到 foo.dom1.com)

html 删除域名销售页面.IO TLD的