How RDAP Works
The Registration Data Access Protocol (RDAP) is the modern successor to the WHOIS protocol. It was developed to address the shortcomings of WHOIS, including lack of standardization, poor security, and inconsistent output formats. RDAP uses a RESTful web service model and delivers results in structured JSON format, making it easier for automation, integration, and interpretation by clients.
Architecture Overview: Client-Server and REST API
RDAP operates on a client-server architecture. A client sends HTTP or HTTPS requests to an RDAP server, and the server responds with JSON-formatted registration data. RDAP conforms to the REST (Representational State Transfer) architectural style, which means:
- Each resource (domain, IP, AS number, etc.) has a unique URL.
- Clients access resources using standard HTTP methods (GET, HEAD).
- Responses use standard HTTP status codes (e.g., 200, 404).
- Responses are returned in a structured, machine-readable JSON format.
RDAP vs WHOIS: Example Request and Response
Below is a simplified example comparing WHOIS and RDAP when querying the domain example.com
.
Protocol | Request | Response Format |
---|---|---|
WHOIS | whois example.com |
Unstructured plain text |
RDAP | GET https://rdap.verisign.com/com/v1/domain/example.com |
Structured JSON |
A sample RDAP response might look like this (shortened for clarity):
{ "objectClassName": "domain", "handle": "EXAMPLE-COM", "ldhName": "example.com", "status": ["active"], "entities": [ { "objectClassName": "entity", "handle": "REGISTRAR-XYZ", "roles": ["registrar"] } ] }
This structured format makes it easier to extract data like registrar name, domain status, creation date, and more.
How RDAP Locates the Appropriate Server
One of RDAP’s key features is its use of a bootstrapping mechanism to determine which RDAP server is authoritative for a given domain or IP address. This is done through the IANA bootstrap registries.
Here’s how it works for domain names:
- The client extracts the top-level domain (TLD) from the query (e.g.,
.com
). - The client checks IANA’s RDAP bootstrap registry for the RDAP base URL associated with that TLD.
- The client constructs the full RDAP query URL and sends the request.
For example, for example.com
, the RDAP client:
- Identifies ".com" as the TLD.
- Finds
https://rdap.verisign.com/com/v1/
in IANA’s registry. - Sends a GET request to
https://rdap.verisign.com/com/v1/domain/example.com
.
This design allows RDAP to be scalable and modular, with each TLD or IP registry maintaining its own RDAP endpoint.
Conclusion
RDAP offers a significant improvement over WHOIS by providing a standardized, secure, and extensible method to access internet registration data. Through RESTful APIs, structured JSON responses, and an intelligent bootstrap mechanism, RDAP is better suited for modern network operations and automation needs.