So what are the necessary things required to have a website up and working. Leaving the most two important thing which is your interest and content of the website they are:
1. Webspace
2. Domain name (or a sub-domain name)
Webspace is some sort of online land where you build your building (read website). This webspace can be taken on rent from webhosts. Though some webhosts provide webspace for free since they have their own ways of making money from the service. Maybe possible some can give ads on your site in a popup or banner form.
Domain name is the name of your website, the name by which it is uniquely identified by the Internet Service Providers (ISP) of your users. For example getfreeweb.blogspot.com has .com as the TLD (Top Level Domain), blogspot as the Domain name and getfreeweb as the Sub-domain name. Domain names are not available for free but there are some free alternatives to them. For example the famous dot tk domain names. Dot tk gives you free domains like example.tk, where .tk is the TLD identifying the country Tokelau, a country in South Pacific.
With this two in hand you can have your own website.