One of my visitors wrote to ask me why he could not "make up any domain" he wanted. He did not want to have to go through a registrar just to get a domain for his website. "Why must I even use a registrar?" he asked.
You may be surprised to hear that you can actually make up any domain you want, as many as you want, and you don't need a registrar to do it. You can even do it for free.
But, for most purposes, it won't do you any good.
To give you a better idea of why all of us end up using this registrar system that is currently in place, let me explain a bit more about how domains are implemented on the Internet. This is just a loose description, by the way, oriented towards the layperson with a view of ultimately answering the question posed by my visitor. It is not meant for someone sitting for a network administration examination or the like. For the latter, please consult a proper textbook instead.
As I stated earlier, it is technically possible for you to get any domain you want without having to go through a registrar. However, those domains will only work on the computers you control, and any other systems willing to let you control how they access the Internet.
Support for domain names are built into modern operating systems. In fact, the latter even make it easy for you to add a domain pointing to any address you want. On Linux and Windows systems, often all that is needed is to add an entry to a file known as "/etc/hosts", that is, a file named "hosts" in the "/etc" directory on Linux, and the "c:\Windows\System32\Drivers\etc\" folder on Windows. It's probably the same for Macs too, although the file is undoubtedly in a different directory.
Anyway, let's say that you add the following line to that file:
When you next type "www.example.com" into a web browser on that computer, it will think that the site is located at 127.0.0.1, and try to connect to a web server there.
For those wondering, "127.0.0.1" is what is known as an IP address. Although we humans use domain names to refer to various locations on the Internet, software actually communicate with each other using these numeric IP addresses. When we type a domain into, say, a web browser, it gets that name translated into a form that it can actually use, that is, an IP address, and then uses the latter to connect to it.
This translation of domain names into IP addresses is done by computers running software known as "name servers". Your Internet provider typically has name servers that do the translation service for their customers. Loosely speaking, their name servers ultimately get information about how to match a particular domain to its IP address from what is known as an authoritative name server. On the Internet, the authoritative name servers are those run by ICANN and its registrars. When you register a domain with them, that name goes into the system, and can be reached by anyone who uses this particular set of name servers.
When you modify the /etc/hosts
file, you are overriding the names provided by your Internet
provider's name servers with your own. As such, if you were actually running a web server at 127.0.0.1,
someone accessing "www.example.com" on your computer will end up there, instead of the actual
"www.example.com". It's even possible to run your own name server, since the latter are
just ordinary computer programs. In fact, the most famous name server software, BIND, is free and open source,
and is probably the most commonly used software in the official domain name system ("DNS").
That is why you always hear from security experts about the risks of connecting to a free WiFi service that you don't know anything about. This is one of them. (Note: there are many other risks too, but those are outside the scope of this article.) The people running that service could be using their own name servers that have substituted fake websites in place of the actual ones on the Internet, and you may not even be able to tell the difference. For example, they could make the domains for your web mail service (eg, Gmail) and your bank point to their own web server, and created lookalike websites that harvest your passwords. They can even set things up so that after you type in your password, you are transparently transferred to your intended destination, with the result that you don't even realise that someone has intercepted your passwords, since everything seems to work normally.
Although you can simply set up a name server to translate any domain names you invent to a matching IP address, the problem you will face is that no one is going to use your name servers. Given the tremendous risks of using some random person's name servers, it would be foolish (to say the least) of anyone to just switch to an unknown name server, instead of using the trusted ones that obtain information from ICANN.
Even if you were to put security risks aside, there's also the problem of name collisions. Let's say you were running a name server where you only added in new domains that you needed for your websites and no more. For other sites, your server obtains information from the official system. There's still a problem here. What if you were to create a name that you thought no one else was using, and then some time later, someone buys that same name from the official domain name pool? The people using your name server will reach your site, but the rest of the world will connect to the other site. It will be chaos for those using your name server.
For names that must be unique, it is generally best if there is a central registry that blocks name collisions. And that central registry exists, for better or for worse, in the domain name system we have today. If you want to supplant it, you will need to convince the world that yours is somehow better. It also means you need very deep pockets, since you will have to buy, install and run name servers all over the world, and hire system administrators (etc) to run it. And you will need a system of allocating domain names to those who want it. Since you will have recurring costs to bear from running this system, you will probably need to charge for the domains. And in order to cope with the demand, you may want to let other companies manage the sales, and just give you a flat fee per domain sold. Perhaps you can call those companies "registrars". Meet the new boss, same as the old boss.
In case you got lost in the above details, you can always make up and use any domain name you want. The facility for that exists, even on your current computer. However, you will be the only one who can access that domain. The person who controls the name servers is a very powerful person, who ultimately controls the Internet access of the people who use it. As such, which sane person is going to use some random stranger's name server?
In the end, if you want to get onto the Internet bandwagon, the current domain name system, warts and all, is what the world has adopted, and what we have to live with. And yes, we have to pay an annual fee to get a domain name. I regard it as one of the costs of putting a website or business on the Internet. In fact, these days, with the competition among the domain registrars, the price is substantially more affordable than when it first began. And, hopefully, once your site is up and running, you can recover that amount either through advertisements or selling products and/or services.
Copyright © 2020-2023 Christopher Heng. All rights reserved.
Get more free tips and articles like this,
on web design, promotion, revenue and scripting, from https://www.thesitewizard.com/.
Do you find this article useful? You can learn of new articles and scripts that are published on thesitewizard.com by subscribing to the RSS feed. Simply point your RSS feed reader or a browser that supports RSS feeds at https://www.thesitewizard.com/thesitewizard.xml. You can read more about how to subscribe to RSS site feeds from my RSS FAQ.
This article is copyrighted. Please do not reproduce or distribute this article in whole or part, in any form.
It will appear on your page as:
Why Can't I Make Up Any Domain I Want? Is There a Way to Do Away with a Registrar Altogether?