Czym jest RDAP?
RDAP (Registration Data Access Protocol) to nowoczesny, standaryzowany przez IETF protokół dostępu do danych rejestracyjnych nazw domen. Opracowano go jako następcę WHOIS. RDAP zwraca uporządkowane, czytelne maszynowo odpowiedzi w formacie JSON, dzięki czemu programiści mogą znacznie łatwiej integrować funkcje wyszukiwania domen z aplikacjami.
Dlaczego RDAP ma znaczenie dla programistów
Jeśli kiedykolwiek próbowałeś analizować dane WHOIS, znasz ten problem. Każdy rejestrator formatuje odpowiedzi inaczej, używa niespójnych nazw pól i zwraca nieuporządkowany zwykły tekst, z którego przydatne informacje trzeba wydobywać złożonymi wyrażeniami regularnymi. RDAP rozwiązuje te problemy dzięki ustandaryzowanemu schematowi JSON, który działa spójnie na wszystkich serwerach zgodnych z RDAP.
Najważniejsze zalety techniczne
Uporządkowane odpowiedzi JSON: Każdy serwer RDAP zwraca dane w tym samym formacie JSON określonym przez RFC 7483. Możesz więc napisać jeden parser działający dla dowolnej domeny, niezależnie od rejestratora lub rejestru. Architektura RESTful: RDAP korzysta ze standardowych metod HTTP i kodów statusu. Zwykłe żądanie GET do punktu końcowego RDAP zwraca informacje o domenie, a kod HTTP 404 wskazuje domenę dostępną, bez potrzeby obsługi specjalnego protokołu. Domyślnie HTTPS: W przeciwieństwie do WHOIS, który przesyła dane jawnym tekstem przez port 43, RDAP korzysta z HTTPS i szyfruje komunikację między aplikacją a serwerem RDAP. Obsługa umiędzynarodowienia: RDAP prawidłowo obsługuje IDN (Internationalized Domain Names) i znaki Unicode, co jest niezbędne w aplikacjach globalnych.Jak działa RDAP
Po wysłaniu zapytania o domenę przez RDAP proces przebiega następująco:
1. Wyszukiwanie w rejestrze Bootstrap: Klient odpytuje rejestr IANA RDAP Bootstrap, aby znaleźć autorytatywny serwer RDAP dla danego TLD
2. Żądanie HTTP: Do adresu URL serwera RDAP wysyłane jest żądanie GET (np. https://rdap.verisign.com/com/v1/domain/example.com)
3. Odpowiedź JSON: Serwer zwraca uporządkowany obiekt JSON zawierający dane rejestracyjne, kody statusu i zdarzenia
Przykładowa struktura odpowiedzi 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"}
]
}
Porównanie RDAP i WHOIS
| Cecha | RDAP | WHOIS |
|---|---|---|
| Format danych | Uporządkowany JSON | Nieuporządkowany tekst |
| Transport | HTTPS (szyfrowany) | Zwykły tekst (port 43) |
| Standaryzacja | RFC 7480-7484 | Niespójna |
| Obsługa IDN | Natywna | Ograniczona |
| Typ zapytania | RESTful HTTP | Protokół niestandardowy |
Implementacja RDAP w aplikacjach
Programistom tworzącym narzędzia domenowe zaleca się RDAP. Większość nowoczesnych narzędzi sprawdzających dostępność domen, w tym DomScan, używa RDAP jako głównego źródła danych, ponieważ zapewnia:
- Wiarygodne wykrywanie dostępności: Odpowiedzi HTTP 404 jednoznacznie wskazują dostępne domeny
- Bogate metadane: Dostęp do dat rejestracji, dat wygaśnięcia i kodów statusu
- Spójne analizowanie: Jedna baza kodu obsługuje wszystkie TLD
Stan wdrożenia RDAP
RDAP jest obecnie wymagany dla rejestrów i rejestratorów gTLD zgodnie z wymaganiami ICANN. Większość ccTLD również wdrożyła RDAP, choć część nadal udostępnia wyłącznie usługi WHOIS. Plik IANA Bootstrap pod adresem https://data.iana.org/rdap/dns.json zawiera aktualne mapowania serwerów RDAP dla wszystkich obsługiwanych TLD.
Dobre praktyki
Podczas implementowania zapytań RDAP odpowiednio buforuj odpowiedzi, aby respektować limity zapytań, wdroż rejestr IANA Bootstrap do wyszukiwania serwerów oraz obsługuj zarówno udane wyszukiwania, jak i odpowiedzi 404 przy sprawdzaniu dostępności.