2

我正在开发一个页面跟踪网络应用程序,我想获取网站列表的规范域。据我所知,没有很好的方法来判断站点对子域和顶级域的所有权从哪里开始和结束。我不确定描述它的最佳方式,所以这里有一个例子:

如果我拥有个人 URL, mysite.com,我可以设置子域,例如www.mysite.com,cdn.mysite.com等等。

如果我的“小组”在大学有一个网站,例如computerscience.myuni.edu,我可能也可以控制www.computerscience.myuni.edu,但不是myuni.edu

如果我是一家大型企业并且需要分散网络流量,我什至可能拥有www.acme.com, ww2.acme.com, ww3.acme.com, 等等。

所以没有什么是确定的,但是如果给我一个 URL,我可能可以从前面去掉 , 和www.,ww2.但是否还有其他常见的“子域”我不认为这是相当常见的,通常不会用于提供不同的网站?cdn.secure.

我猜我只是想找出获得网站真正“规范”域名的最佳方式。

4

1 回答 1

2

首先,您应该区分域名和网站/URL。我认为没有任何有效的方法可以轻松识别网站所有者,但关于域名,可以通过其结构推断出来。

粗略地说,完全合格的域名由子域名称后缀组成,在您的情况下,您正在寻找规范域名名称+后缀)。

全限定域名分解

由于域名系统是分层的,www.example.com.因此应该从头到尾读取类似 FQDN 的内容:.com.example.www并且可以这样分解:

  • 后缀com
  • 姓名example
  • 子域www

为了您的识别,您应该按照相同的顺序进行:

  1. 后缀:查找名称已注册的后缀(.com、.net、.co.uk、.com.es
  2. 名称:识别点后的名字
  3. 子域:剥离字符串的其余部分。

没有列出所有公共后缀的官方数据库,但是在 Mozilla 基金会的倡议下,已经创建了一个非官方的数据库。该项目名为Public Suffix,其目的是记录后缀,人们可以在后缀下注册域名并有多种实现来解析数据库

我在我的个人博客上写了一篇介绍域名系统的文章,如果你有兴趣,我在其中更详细地描述了域名结构:什么是域名,幕后是什么

于 2012-01-05T20:14:20.147 回答