5. Object Classes
Object classes represent structures appropriate for a response from the queries specified in [RFC9082].
Each object class contains a "links" array as specified in Section 4.2. For every object class instance in a response, whether the object class instance is directly representing the response to a query or is embedded in other object class instances or is an item in a search result set, servers SHOULD provide a link representing a URI for that object class instance using the "self" relationship as described in the IANA registry specified by [RFC8288]. As explained in Section 5.2, this may be not always be possible for nameserver data. Clients MUST be able to process object instances without a self link. When present, clients can use the self link for caching data. Servers MAY provide more than one self link for any given object instance. Failure to provide any self link by a server may result in clients being unable to cache object class instances.
Clients using self links for caching SHOULD NOT cache any object class instances where the authority of the self link is different than the authority of the server returning the data. Failing to do so might result in cache poisoning.
Self links MUST contain a "type" element containing the "application/rdap+json" media type when referencing RDAP object instances as defined by this document.
This is an example of the "links" array with a self link to an object class:
"links" :
[
{
"value" : "https://example.com/ip/2001:db8::123",
"rel" : "self",
"href" : "https://example.com/ip/2001:db8::123",
"type" : "application/rdap+json"
}
]
Figure 14