RDAP skal med tiden erstatte den nåværende whois-protokollen. Tjenesten er under utvikling hos mange registreringstjenester, også hos Norid.
Tilgang
Tjenesten er tilgjengelig på:
rdap.norid.no
Tjenesten er i produksjon.
Testing
Testsystemet har sin egen RDAP-tjeneste. Denne er tilgjengelig på:
rdap.test.norid.no
Hvorfor bruke RDAP
RDAP 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 autentiseres 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.
Hvordan virker tjenesten
Tjenesten er tilgjengelig under følgende URL:
rdap.norid.no
Tjenesten støtter oppslag av domenenavn, kontaktdata (entiteter) og navnetjenere. Noen eksempler:
Oppslag av domenenavn:
https://rdap.norid.no/domain/norid.no
Oppslag av kontaktperson med person-hendel som nøkkel:
https://rdap.norid.no/entity/NH55R-NORID
Oppslag av domeneforhandler med forhandler-ID som nøkkel:
https://rdap.norid.no/entity/reg1-NORID
Oppslag av navnetjener med navnetjener-hendel som nøkkel:
https://rdap.norid.no/nameserver_handle/X11H-NORID
Søk etter navnetjener med et gitt vertsnavn:
https://rdap.norid.no/nameservers?name=x.nic.no
RDAP er designet som en webtjeneste. Spørringer sendes inn som URL-er 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 hvorvidt et objekt finnes
En spørring om hvorvidt et objekt (domenenavn, kontakt eller en navnetjener) er registrert gjøres med HTTP-metoden HEAD. Dette tilsvarer et oppslag i DAS-protokollen. Oppslaget besvares med returkode 200 OK hvis objektet finnes, og 404 Not found hvis det ikke finnes.
Oppslag på domenenavn som ikke kan registreres
Det finnes noen domenenavn som ikke er tilgjengelig for registrering. Svarkoden fra HEAD-oppslag skiller ikke mellom slike domener og andre domener som ikke er registrert men er tilgjengelig for registrering.
For å se om et domene er tilgjengelig må det gjøres et GET-oppslag. Returmeldingen vil da være 404 Not found med tilleggsinformasjon for domener som ikke er tilgjengelig.
Lokale tilpasninger
RDAP-protokollen er 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å navnetjenerhendel. Dette er en utvidelse som ikke endrer 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 vertsnavn som oppslagsnøkkel. I Norids registreringssystem vil et oppslag på vertsnavn ikke være entydig siden systemet kan inneholde flere navnetjenerobjekter med samme vertsnavn. Vi har derfor valgt å tilby et eget oppslag for navnetjenere basert på navnetjenerhendel:
https://rdap.norid.no/nameserver_handle/X11H-NORID
Oppslaget returnerer et dataobjekt formatert på samme måte som standardoppslaget i RDAP for navnetjenere.
Autentisert oppslag
Med autentisering vil oppslagene gi utvidet svardata og et utvidet sett med oppslagsfunksjoner for forhandlerne. RDAP-klienten autentiserer seg ved hjelp av standard https basic authentication slik som beskrevet i standarden RFC-2617.
Administrasjon av brukere for autentisert oppslag
Alle forhandlere har tilgang til autentiserte oppslag. Som forhandler må du da gjøre følgende:
- Du må opprette en bruker for RDAP. Dette gjøres på forhandlerweben, på tilsvarende måte som med andre brukere der. For testsystemets RDAP-tjeneste, rdap.test.norid.no, vil det være den tilhørende forhandlerweben i test, som gjelder.
- Brukeren må gis rettigheten rdap_access.
Etter at brukeren er opprettet kan det ta noen minutter før den er klar til bruk i RDAP.
Med en klient som støtter basic authentication kan man nå aksessere tjenesten. Det fulle brukernavnet som klienten skal autentisere med i et oppslag er på formen @.
Hvordan autentisering settes opp på klientsiden vil avhenge av programvaren som brukes. I eksemplene under gjøres oppslag med curl og wget. Her autentiserer forhandler reg9876 med bruker rdapuser og passordet mysecret123.
Eksempel på autentisert oppslag med curl:
% curl --user rdapuser@reg9876:mysecret123 https://rdap.norid.no/domain/norid.no
Eksempel på autentisert oppslag med wget:
% wget -O - --auth-no-challenge --http-user=rdapuser@reg9876 --http-password=mysecret123 https://rdap.norid.no/domain/norid.no
Tilgangsbegrensning for autentiserte oppslag
Tilgangen til autentiserte oppslag er begrenset med et IP-filter. Hver forhandler må registrere adressene som de selv ønsker å bruke. Dette gjøres på forhandlerweben under Innstillinger.
Utvidet tilgang til data
Anonyme (uautentiserte) oppslag returnerer svarmeldinger med begrenset datainnhold. Med autentisert oppslag blir mer data tilgjengelig.
Oppslag av domenenavn
For domeneoppslag blir informasjon om abonnent tilgjengelig. Innholdet som vises om abonnenten blir tilsvarende som for direkteoppslag av kontaktobjektet (se neste avsnitt).
Oppslag av kontaktobjekter (entiteter)
Anonymt oppslag kan bare gjøres mot kontaktobjekter som er roller. Autentiserte oppslag kan gjøres mot alle typer kontaktobjekter, dvs. roller, personer og organisasjoner. Eksempler:
https://rdap.norid.no/entity/NT1O
https://rdap.norid.no/entity/AA253P
Hvilke kontaktdata som blir vist kan avhenge av kontakttype (rolle, person, organisasjon) og om forhandleren som gjør oppslaget er sponsor for objektet.
Søkefunksjoner
Søkefunksjoner i RDAP gjør det mulig å hente ut lister av domenenavn, kontakter og navnetjenere, basert på ulike søkenøkler.
Anonyme oppslag gir bare tilgang til søk på navnetjenere med hostnavn som nøkkel. Andre søkefunksjoner er tilgjengelige for autentiserte oppslag. Disse er vist i eksemplene under.
Søket vil kun vise dataobjekter som er sponset av forhandleren som gjør oppslaget. For noen av søkenøklene kan wildcardtegnet * brukes. Svarmeldingen for et søk inneholder begrenset data om hvert objekt i trefflisten. Komplette data kan deretter hentes ved hjelp av direkteoppslag mot det aktuelle objektet.
Se for øvrig avsnittet Datamengde i svarmelding fra søk for å returnere komplette datasett i søkesvaret.
Eksempler på søk etter domenenavn:
https://rdap.norid.no/domains?name=nord*.no
https://rdap.norid.no/domains?registrant=NT1O
https://rdap.norid.no/domains?identity=985821585
https://rdap.norid.no/domains?nsIp=128.39.8.40
https://rdap.norid.no/domains?nsLdhName=*.labnic.no
Eksempler på søk etter navnetjenere:
https://rdap.norid.no/nameservers?name=*.labnic.no
https://rdap.norid.no/nameservers?ip=128.39.8.40
Eksempler på søk etter kontaktobjekter:
https://rdap.norid.no/entities?fn=norid*
https://rdap.norid.no/entities?identity=985821585
Paginering og opptelling
For søk som gir mange treff vil bare de første treffene være med i svarmeldingen. Meldingen vil i tillegg inneholde en peker til et søk som returnerer de neste svarene. På den måten kan man bla gjennom hele resultatsettet. Ved å legge til parameteren 'count=true' vil svarmeldingen i tillegg vise totalt antall svarmeldinger.
Eksempel: https://rdap.norid.no/domains?name=nord*.no&count=true
Svarmeldingen vil inneholde en lenke som kan følges til neste side:
"paging_metadata": { "links": [ { "href": "https://rdap.norid.no/domains?name=nord*.no&cursor=O1GW1xKrewPkUHzQwIrTTQ%3D%3D&count=1", "rel": "next", ...
Sortering
Det er mulig å velge sorteringsrekkefølge på svarene i returnmeldingen.
- For domenenavn kan følgende sorteringsnøkler brukes: registrationDate, lastChangedDate, expirationDate, name
- For navnetjenere kan følgende sorteringsnøkler brukes: registrationDate, lastChangedDate, name
- For kontaktobjekter kan følgende sorteringsnøkler brukes: registrationDate, lastChangedDate, handle, fn, org, country, cc, city
Sortering på utløpsdato:
https://rdap.norid.no/domains?name=nord*.no&sort=expirationDate
Revers sortering på utløpsdato:
https://rdap.norid.no/domains?name=nord*.no&sort=expirationDate:d
Sortering på landkode, deretter poststed:
https://rdap.norid.no/entities?fn=norid*&sort=cc,city
Datamengde i svarmelding fra søk
Svarmeldingen for et søk inneholder i utgangspunktet mindre data for hver av objektene enn et enkeltoppslag gjør. Det mulig å endre dette ved å bruke parameteren 'fieldSet'. Ved å sette parameteren til henholdsvis 'fieldSet=full' og 'fieldSet=id' kan man velge om svarmeldingen skal inneholde komplette datasett eller bare identiteten til objektene og en lenke til et oppslag for hele objektet.
Eksempler:
https://rdap.norid.no/domains?name=nord*.no&fieldSet=full
https://rdap.norid.no/domains?name=nord*.no&fieldSet=id
Ratebegrensning
RDAP-tjenesten har to ratebegrensninger, 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 nettleser kan i prinsippet brukes som RDAP-klient så lenge den er i stand til å ta imot og presentere JSON-data.
Kommandolinjeklienter 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:
OpenRDAP - kommandolinjeklient skrevet i Go.
NicInfo - kommandolinjeklient skrevet i Ruby.
Referanser
En teknisk detaljert beskrivelse av virkemåten finnes i RFC-spesifikasjonene for RDAP-protokollen:
RDAP-utvidelser og andre relaterte RFC-dokumenter: