什么是RDAP?
RDAP(注册数据访问协议)是用于访问域名注册数据的现代IETF标准化协议。作为WHOIS的后继者,RDAP以JSON格式提供结构化的机器可读响应,使开发人员能够更轻松地将域名查询功能集成到其应用程序中。
为什么RDAP对开发者很重要
如果你曾经尝试解析WHOIS数据,你就会知道其中的痛苦。每个注册商的响应格式都不同,使用不一致的字段名称,并返回需要复杂正则表达式才能提取有用信息的非结构化纯文本。RDAP通过标准化的JSON模式解决了这些问题,该模式在所有RDAP兼容服务器上一致工作。
关键技术优势
结构化JSON响应:每个RDAP服务器都以RFC 7483定义的相同JSON格式返回数据。这意味着你可以编写一个解析器,适用于任何域名,无论注册商或注册局如何。 RESTful架构:RDAP使用标准HTTP方法和状态码。对RDAP端点的简单GET请求返回域名信息,HTTP 404表示域名可用,无需特殊协议处理。 默认使用HTTPS:与通过端口43在纯文本中传输数据的WHOIS不同,RDAP使用HTTPS,确保应用程序和RDAP服务器之间的通信加密。 国际化支持:RDAP正确处理IDN(国际化域名)和Unicode字符,对全球应用至关重要。RDAP的工作原理
当你通过RDAP查询域名时,流程遵循以下步骤:
1. 引导发现:你的客户端查询IANA RDAP引导注册表,找到该TLD的权威RDAP服务器
2. HTTP请求:向RDAP服务器URL发送GET请求(例如,https://rdap.verisign.com/com/v1/domain/example.com)
3. JSON响应:服务器返回包含注册数据、状态码和事件的结构化JSON对象
RDAP响应结构示例
{
"objectClassName": "domain",
"handle": "example.com",
"ldhName": "example.com",
"status": ["client transfer prohibited"],
"events": [
{"eventAction": "registration", "eventDate": "1995-08-14T04:00:00Z"},
{"eventAction": "expiration", "eventDate": "2025-08-13T04:00:00Z"}
]
}
RDAP与WHOIS对比
| 特性 | RDAP | WHOIS |
|---|---|---|
| 数据格式 | 结构化JSON | 非结构化文本 |
| 传输 | HTTPS(加密) | 纯文本(端口43) |
| 标准化 | RFC 7480-7484 | 不一致 |
| IDN支持 | 原生支持 | 有限 |
| 查询类型 | RESTful HTTP | 自定义协议 |
在应用中实现RDAP
对于构建域名工具的开发者,RDAP是推荐的方法。大多数现代域名可用性检查工具(包括DomScan)使用RDAP作为其主要数据源,因为它提供:
- 可靠的可用性检测:HTTP 404响应明确表示域名可用
- 丰富的元数据:访问注册日期、过期日期和状态码
- 一致的解析:一份代码处理所有TLD
RDAP采用状态
RDAP现在对于gTLD注册局和注册商是强制性的,根据ICANN要求。大多数ccTLD也已采用RDAP,尽管有些仍然仅运行WHOIS服务。IANA引导文件位于https://data.iana.org/rdap/dns.json,提供所有支持的TLD的当前RDAP服务器映射。
最佳实践
在实现RDAP查询时,要根据速率限制适当缓存响应,实现IANA引导以进行服务器发现,并处理成功查询和404响应以检查可用性。