将子域转换为域名(子 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