You have two separate items you need to get to put a website online:
- The domain name
- The host server that will house your website files
Domain registrars (where you buy domain names from) usually offer hosting options, too, so you can get both from the same vendor. You can also purchase hosting from someone other than your domain name registrar and then link the domain to your web host.
Some examples of domain name registrars/web hosting companies are GoDaddy, Bluehost, HostGator, DreamHost, etc. You can do a search online and find hundreds of others. Most are similarly priced.
If you purchase a domain and host separately, you just have to update your domain's nameservers to "link" them. Then, upload your website files to your hosting server and your website will be online.
If you are freelancing, make sure you work the cost of the domain name, hosting, and your personal time invested into your contract. The client should be paying for those things.