跳到主要内容

4. 对搜索作出响应 (Responding to Searches)

4.1. 单结果搜索 (Single-Result Searches)

rdap-uprdap-top 关系是单结果搜索. 处理这些搜索时, 如果搜索存在结果, 服务器会返回该对象, 就像通过查找 URL 直接请求该对象一样 (见 [RFC9082] 第 3.1 节). 如果搜索没有结果, 服务器会返回 HTTP 404 (Not Found) [RFC9110] 响应码.

4.2. 多结果搜索 (Multiple-Result Searches)

rdap-downrdap-bottom 关系是多结果搜索. 与 [RFC9083] 一样, 这些搜索的响应采用对象实例数组的形式, 其中每个实例都是适用于该搜索的对象类 (即以 /ips 开头的搜索产生 IP 网络对象实例数组, 以 /autnums 开头的搜索产生自治系统号对象实例数组). IP 网络对象类定义于 [RFC9083] 第 5.4 节, 自治系统号对象类定义于 [RFC9083] 第 5.5 节. 对象实例数组包含在响应对象中.

这些数组的名称如下:

  • 对于 /ips 搜索, 数组为 ipSearchResults; 并且

  • 对于 /autnums 搜索, 数组为 autnumSearchResults.

以下是 IPv4 网络搜索响应的省略示例:

{
"rdapConformance": [ "rdap_level_0", "rirSearch1",
"ips", "ipSearchResults", ... ],
...
"ipSearchResults": [
{
"objectClassName": "ip network",
"handle": "XXXX-RIR",
"startAddress": "192.0.2.0",
"endAddress": "192.0.2.127",
...
},
{
"objectClassName": "ip network",
"handle": "YYYY-RIR",
"startAddress": "192.0.2.0",
"endAddress": "192.0.2.255",
...
}
]
}

图 8: IPv4 网络搜索响应

以下是 IPv6 网络搜索响应的省略示例:

{
"rdapConformance": [ "rdap_level_0", "rirSearch1",
"ips", "ipSearchResults", ... ],
...
"ipSearchResults": [
{
"objectClassName": "ip network",
"handle": "XXXX-RIR",
"startAddress": "2001:db8:a::",
"endAddress": "2001:db8:a:ffff:ffff:ffff:ffff:ffff",
...
},
{
"objectClassName": "ip network",
"handle": "YYYY-RIR",
"startAddress": "2001:db8::",
"endAddress": "2001:db8:ffff:ffff:ffff:ffff:ffff:ffff",
...
}
]
}

图 9: IPv6 网络搜索响应

以下是自治系统号搜索响应的省略示例:

{
"rdapConformance": [ "rdap_level_0", "rirSearch1",
"autnums", "autnumSearchResults", ... ],
...
"autnumSearchResults": [
{
"objectClassName": "autnum",
"handle": "XXXX-RIR",
"startAutnum": 64496,
"endAutnum": 64496,
...
},
{
"objectClassName": "autnum",
"handle": "YYYY-RIR",
"startAutnum": "64497",
"endAutnum": "64497",
...
}
]
}

图 10: ASN 搜索响应

根据 [RFC9083], 对反向域名对象执行关系搜索的响应与标准域名搜索响应具有相同形式.

如果服务器能够处理搜索, 但该搜索没有结果, 则服务器返回 HTTP 404 (Not Found) [RFC9110] 响应码, 响应正文包含一个空结果数组.