gov.uk是顶级域名(TLD)还是普通域名?其结构应如何划分?
结论
我们日常所说的“顶级域名(TLD)”存在两种常用定义,对应https://gov.uk的结构拆分结果也不一样:
1. 严格遵循ICANN域名层级的官方定义
- 顶级域名(TLD):
uk,属于国家和地区顶级域(ccTLD),是根域名服务器直接管理的顶级后缀 - 完整可解析域名:
gov.uk,其中gov是二级域名,是英国政府专门预留使用的二级域,该域名本身已经配置了A记录,可直接解析访问。
2. 公共后缀列表场景下的实用定义
域名注册、Cookie作用域划分、爬虫域名分类等场景下,会使用公共后缀列表作为“可注册域名的后缀划分标准”,这类场景下通常会把公共后缀等效为实用层面的TLD:
- 实用级顶级域名:
gov.uk,因为该后缀被收录在公共后缀列表中,属于不允许个人/机构直接注册子后缀的公共域 - 可注册域名部分:为空,因为
gov.uk本身直接作为站点域名使用,没有在公共后缀之外额外注册二级域名段。
对应测试结果说明
socket.gethostbyname能返回IP:是因为gov.uk本身就是配置了解析记录的有效可访问域名,不管按哪种规则拆分,它都是一个完整的可解析域名urlparse返回netloc='gov.uk':urlparse只做完整域名提取,不做域名层级拆分,所以只会返回完整的域名块tldextract返回domain=''、suffix='gov.uk':tldextract的拆分规则完全基于公共后缀列表,所以会把收录在列表里的gov.uk整体识别为后缀,剩余部分为空。
内容的提问来源于stack exchange,提问作者Ross Jacobs
相关产品推荐
相关产品推荐

