RDAP – oppslagstjeneste for domenedata

Norid tilbyr en oppslagstjeneste for informasjon om domenenavn, basert på den internasjonale RDAP-protokollen. RDAP-tjenesten er designet som et såkalt REST-API og er derfor velegnet for automatiserte oppslag.

RDAP kan regnes som en etterfølger av den nåværende whois-protokollen og inneholder en rekke forbedringer i forhold til denne.

  • Overføringsformatet for oppslagsdataene er klart spesifisert i json-format, og enkelt å behandle maskinelt.
  • Tegnsett er entydig spesifisert.
  • Protokollen gir mulighet for såkalt ‘layered access’. Det vil si at priviligerte brukere kan autentises og få bedre tilgang til data enn anonyme brukere får. Det kan for eksempel dreie seg om mer detaljerte data eller større oppslagsrate.

Vi tilbyr for tiden en prototype RDAP-tjeneste som er tilgjengelig på URL https://rdap.norid.no. Tjenesten er i en utviklingsfase og endringer i formatet på både spørringer og svarmeldinger må kunne påregnes.

Hvordan virker tjenesten

Tjenesten er tilgjengelig under følgende URL:

https://rdap.norid.no

Tjenesten støtter oppslag av domener, kontaktdata (entiteter) og navnetjenere. Noen eksempler:

Oppslag av domene:
https://rdap.norid.no/domain/norid.no

Oppslag av kontaktperson med personhandle som nøkkel:
https://rdap.norid.no/entity/NH55R-NORID

Oppslag av registrar med registrar-id som nøkkel:
https://rdap.norid.no/entity/reg1-NORID

Oppslag av navnetjener med navnetjenerhandle som nøkkel:
https://rdap.norid.no/nameserver_handle/X11H-NORID

Søk etter navnetjener med et gitt hostnavn:
https://rdap.norid.no/nameservers?name=x.nic.no

RDAP er designet som en webtjeneste. Spørringer sendes inn som URLer som tjeneren besvarer med data i JSON-format. RDAP bruker HTTP-metoden GET for oppslag av data om et objekt. HTTP-metoden HEAD brukes for å spørre om et objekt finnes.

Oppslag av data

Oppslag av data for et objekt (domenenavn, kontakt eller en navnetjener) gjøres med HTTP-metoden GET. Dette tilsvarer et oppslag i whois-protokollen. Oppslaget besvares med returkode ‘200 OK’ og et sett med JSON-data hvis objektet finnes, og ‘404 Not found’ hvis det ikke finnes.

Spørring om et objekt finnes

En spørring om et objekt (domenenavn, kontakt eller en navnetjener) er registrert gjøres med HTTP-metoden HEAD. Dette tilsvarer et oppslag i DAS-protokollen. Oppslaget besvarers med returkode ‘200 OK’ hvis objektet finnes, og ‘404 Not found’ hvis det ikke finnes.

Lokale tilpasninger

RDAP-protokollen er som nevnt en internasjonal standard, men den gir rom for å legge til lokale utvidelser og tilpasninger. Norids RDAP-tjener har en lokal utvidelse som gjør det mulig å slå opp navnetjenere basert på nameserver handle. Merk at dette er en utvidelse som ikke forandrer på virkemåte eller returdata for de andre standardiserte spørringene. En generell RDAP-klient vil derfor kunne bruke de standardiserte spørringene uten at det oppstår kompatibilitetsproblemer.

Utvidelse for oppslag av navnetjenere

Standardoppslaget for navnetjenerobjekter bruker navnetjenerens hostnavn som oppslagsnøkkel. I Norids registrysystem vil et oppslag på navnetjener nøklet på hostnavn ikke være entydig siden systemet kan inneholde flere navnetjenerobjekter med samme hostnavn. Vi har derfor valgt å tilby et eget oppslag for navnetjenere basert på navnetjener handle:

https://rdap.norid.no/nameserver_handle/X11H-NORID

Oppslaget returnerer et dataobjekt formattert på samme måte som standardoppslaget i RDAP for navnetjenere.

Ratebegrensning

RDAP-tjenesten har to ratebegrensninger, der begge begrenser antall oppslag fra en gitt IP-adresse. Den ene ratebegrensningen gir hver IP-adresse tilgang til maksimalt 300 GET-oppslag og 3000 HEAD-oppslag i døgnet i et glidende vindu. Den andre ratebegrensningen gir hver IP-adresse tilgang til maskimalt 10 oppslag (GET eller HEAD) i minuttet). Hvis en av disse grensene overskrides vil oppslag besvares med returkode ‘429 Too many requests’

Programvare for RDAP-klienter

RDAP er en webtjeneste, så en hvilken som helst webleser kan i prinsippet brukes som RDAP-klient så lenge den er i stand til å ta i mot og presentere JSON-data. Kommandolinje-klienter som wget og curl kan for eksempel brukes for å hente ut data til scripting:

GET:
% curl https://rdap.norid.no/domain/norid.no
% wget -O – https://rdap.norid.no/domain/norid.no

HEAD:
% curl –head https://rdap.norid.no/domain/norid.no
% wget –method=HEAD https://rdap.norid.no/domain/norid.no

Det finnes andre mer spesialiserte klienter som presenterer JSON-dataene på en bedre lesbar form. Følgende klienter er tilgjengelig i åpen kildekode:

https://www.openrdap.org
https://github.com/arineng/nicinfo

Referanser

En detaljert beskrivelse av virkemåten finnes i RFC-spesifikasjonene for RDAP-protokollen:

https://tools.ietf.org/html/rfc7480
https://tools.ietf.org/html/rfc7481
https://tools.ietf.org/html/rfc7482
https://tools.ietf.org/html/rfc7483

Sist endret 27. november 2018