What is a domain name?
A domain name is a string that identifies a certain location on the internet. It's like a street address for the internet. Domain names are controlled by the Domain Name System (DNS), which maps the domain name to servers for a given use. For example a domain name might have entries for email, for ftp and for web use. Usually these are identified with subdomains like mail.example.com or ftp.example.com. The root of a domain is the highest level without subdomains, so for example.com the root is example.com and mail.example.com is a subdomain.
The top set of domain names are the top-level domains (TLDs), including the generic top-level domains (gTLDs), for example .com, .org and .net, and country code top level domains (ccTLDs). Below these top level domains are second-level and third-level domain names some of which are open for registration by end users to create accessible internet addresses like example.com.
How to register a domain name
To register a domain name you would visit a domain name registrar who sells domains to the public for a yearly fee. Examples of popular registrars are namecheap.com, name.com and hover.com.
Hosting your website
To host a website on that domain name you need to contract with a server host, and configure your DNS servers to point the given domain name to the IP of your host. We recommend Digital Ocean for hosting, but many other hosts are available.