Domain-Namen-Abfragen mit RDAP

Switch betreibt einen RDAP-Server zur Abfrage von Registrierungsdaten von .ch- und .li-Domain-Namen. Unterstützt wird die Klasse "Domain" (Domain Object Class). Die Antwort erfolgt im JSON-Format. Der RDAP-Server kann mit einem beliebigen HTTP-Client abgefragt werden.

Anonymen Benutzern werden keine Informationen zu Halter oder technischem Kontakt eines Domain-Namens angezeigt. Authentisierte Benutzer mit einem Benutzerkonto erhalten abhängig von ihren Berechtigungen die vollständigen Registrierungsdaten.

  • mit einem REST-Client (stand-alone oder als Browser-Extension)
  • im Terminal
  • im Browser (Firefox empfohlen)

Siehe nachstehende Beispiele.

Es sind neben GET- auch HEAD-Requests möglich. Auf diese Weise kann ermittelt werden, ob ein Domain-Name bereits registriert ist, ohne dass weitere Daten enthalten sind.

Mit einem REST-Client

Method: GET (oder HEAD)
URL: https://rdap.nic.ch/domain/xyzdomainname.ch

Im Terminal (command line)

curl https://rdap.nic.ch/domain/xyzdomainname.ch

HEAD-Request:

curl -I https://rdap.nic.ch/domain/xyzdomainname.ch

Im Browser

im Adressfeld eingeben:

https://rdap.nic.ch/domain/xyzdomainname.ch

Mit einem REST-Client

Method: GET (oder HEAD)
URL: https://rdap.nic.ch/domain/xyzdomainname.ch

Als "Basic Authentication" Benutzername und Passwort Ihres Benutzerkontos angeben.

Im Terminal (command line)

curl -u benutzername https://rdap.nic.ch/domain/xyzdomainname.ch

HEAD-Request:

curl -I https://rdap.nic.ch/domain/xyzdomainname.ch

Im Browser

im Adressfeld eingeben:

https://rdap.nic.ch/domain/xyzdomainname.ch?login

Der Browser zeigt einen Login-Prompt an, Benutzername und Passwort Ihres Benutzerkontos eingeben.

Wenn der Domain-Name registriert ist, antwortet der RDAP-Server mit Daten im JSON-Format und dem HTTP-Statuscode 200 (oder 401). Wenn der Domain-Name bzw. die Eingabe nicht gefunden werden kann, antwortet der Server ausschliesslich mit HTTP-Statuscodes. Bei einer Abfrage via Browser sind diese Codes nicht direkt sichtbar, das Resultat kann eine Fehlermeldung oder eine leere Seite sein. Bei einem HEAD-Request antwortet der Server in jedem Fall ausschliesslich mit HTTP-Statuscodes, ohne Daten.

Bedeutung der HTTP-Statuscodes

404 (Not Found)

Kein Domain-Name gemäss Eingabe gefunden. In der Regel bedeutet dies, dass der Domain-Name nicht registriert ist. Es bedeutet aber nicht in jedem Fall, dass der Domain-Name registriert werden kann.

200 (OK)

Der Domain-Name ist registriert bzw. kann zur Zeit nicht registriert werden.

400 (Bad Request)

Ungültige Abfrage, zum Beispiel unzulässige Zeichen oder falsche TLD (d.h. vor dem nächsten Versuch Abfrage ändern).

401 (Unauthorized)

Benutzername/Passwort falsch. Der Domain-Name ist registriert, aber man erhält nur die Daten wie ein anonymer Benutzer.

429 (Too Many Requests)

Zutritt begrenzt (d.h. eine Weile warten und dann erneut versuchen).

 

Ein RDAP-Benutzerkonto erhalten zurzeit ausschliesslich Schweizer Behörden, die einen speziellen Nutzungsvertrag mit Switch unterzeichnet haben. Mit diesem Benutzerkonto können sie Domain-Namen mit vollständigen Registrierungsdaten inklusive Personendaten abfragen.

RDAP steht für Registration Data Access Protocol. Es löst das Whois-Protokoll ab, welches den heutigen technischen Anforderungen nicht mehr genügt.

  • Standardisierte, maschinenlesbare Antwort im JSON-Format.
  • HTTP-basiert und REST-konform.
  • Sicherer Zugriff auf die Daten via HTTPS.
  • Die Registrierungsstelle hat die Möglichkeit, unterschiedliche Zugriffsrechte für einzelne Nutzergruppen festzulegen.

Es gibt mehrere RFCs zu RDAP. Für die Implementierung von Abfragen für .ch- und .li-Domain-Namen sind in erster Linie RFC 7480 und 7483 relevant.

  • RFC 7480 HTTP Usage in the Registration Data Access Protocol (RDAP)
  • RFC 7483 JSON Responses for the Registration Data Access Protocol (RDAP)
  • RFC 7481 Security Services for the Registration Data Access Protocol (RDAP)
  • RFC 7482 Registration Data Access Protocol (RDAP) Query Format