Does the hyperlink http://dk/ work? Yes. How? Because .dk (Denmark) is one of the rare Top Level Domains (TLDs) to have an IP address.
As you can see from DNS clients like dig, as well as online services like DNS Looking Glass, the .dk (Denmark) TLD has an IP address. Something that is both mundane (assigning IP addresses to names is one of the main uses of DNS) and rare, because TLDs usually do not contain information, but transfer to second-level domains.
Which Top Level Domains have an IP address?
- .ai (Anguilla)
- .bh (Bahrain)
- .cm (Cameroon)
- .dk (Denmark, already mentioned)
- .gg (Guernsey)
- .je (Jersey)
- .pn (Pitcairn)
- .tk (Tokelau)
- .uz (Uzbekistan)
- .va (Vatican)
- .ws (Samoa)
- .мон (Mongolia)
Note that none of the TLDs managed by ICANN appear in this list. This is because ICANN prohibits the allocation of an IP address at the apex (the root of a DNS zone). See “Applicant Guidebook”, section 220.127.116.11, “TLD Zone Contents”.
Only one IDN (Unicode domain name) is included on the list: Mongolia. Two of the domain names listed, Denmark and Vatican have IPv6 addresses, while the others use the last century IP version, IPv4. The Pope’s TLD is one step ahead, as it is the only one to only use IPv6.
Can these TLDs use all of the services of IP addresses? Unfortunately not, due to application limits. For example, some Internet browsers have difficulty with URLs (web addresses) if the domain name only contains a single label. And it’s worse for email addresses: most email servers refuse the addresses name@tld, or will try to complete them with the local domain name. Having an IP address on a TLD is therefore good fun, but not particularly useful. Even more so given that this information is not always well handled. For example, .cm has an address, but no HTTP server responds to this address.
For those programmers interested, the code used for this short study is available online. It is written in Python.
Note that the programme needs to be robust, and continue to work even if some TLDs do not. This is currently the case for .ss (South Sudan), entirely down for the last few days due notably to expired DNSSEC signatures.