I've started a response to this post about half a dozen times, and didn't feel I had enough time to answer the question adequately. So now the day is about done, I've got some good tunes on, and I have some time.
Tha absolute only thing you need to do is put your .html page somewhere on your system, set your system to share files, and allow people to browse directly to the page, and open it in their browser. This is simple, crude, and completely the wrong way to do it. In essence, all anybody would need to do to access your computer is type in the IP, and browse to the file. They key phrase being "acess your computer" which means that your system is completely wide open for anybody to take advantage of. Definately not the best solution.
The next cheapest way is to download Apache (which is a web page server), install it on your system, and use it to serve up your web pages. It is a bit difficult to set up the first couple times around, but it can be done. Then you make sure that your firewall is on, and create a rule allowing incoming connections on port 80. Then all anyone needs to do to access your webpage is type in your IP number. When they access your system, Apache will recognize it as a request to serve up the web page, and will spit it out. Apache is free, and available at:http://www.apache.org/
There are tons of forums and groups available to help you, so it shouldn't be a problem to get it up and going. If I recall correctly, there are places where one can download versions of Apache that are fully ready to go. There are a couple of downsides to this method also. Although it is a bit more secure, you will be sharing bandwidth with whomever happens to be accessing your webpage. You also won't have a cool dot com or dot net name, but maybe you don't care. Also, many ISPs block port 80, so you won't be able to host on that port. But I think (and hopefully someone will correct me), you can use any port you want, as long as Apache is configured correctly, and the IP includes the port number (come to think of it, even if you are using port 80 with the IP number, you might have to include the port; ie 192.168.100.200:80.) At this point, the only expense you have is what you are already spending on your Internet connection.
Before I go off on the rest of this, it is quite possible that your ISP provides free web space with each of it's acount. Mediacom (one of my providers) allows me 40 megs of space, but I have no clue how much bandwidth that entails, or the restrictions. I do know that they can not be commercial ventures, feature porno or warez, etc. At any rate, that may be something that you want to look into.
Also, from now on, I am asuming that Apache or some other Server Software is running on your system.
Now, if you want your own domain, there are other two possibilities. This gets a bit difficult to explain, but I'll do the best that I can. First, you can register your own domain name with someone like GoDaddy.com. GoDaddy is 8 or 9 bucks a year; prices vary. from there, then you need a means to register that domain with a domain name server (DNS) so that people will be able to find your page. I'll come back to this in a minute, because there is another domain option.
If you go to http://freedns.afraid.org/
you can create a domain that piggybacks a registered domain. For instance, I own sweeps-soft.com. If you wanted to, you could create a domain such as mysite.sweeps-soft.com (if mine were publically available). Once you do the "paperwork" with freedns, people would be able to access your web page.
Now, back to registering with DNS. I'm assuming that you already understand what DNS is (if you don't, just ask). You again have two choices. One, you can pay someone to register it for you. I think the cheapest place I saw was $15 a year. They take care of all of the dirty work. Or if you don't mind geting your hands dirty, you can register it through freeDNS, and take care of the updating yourself. It's sort of hard at first, but after awhile you sort of get it.
As already mentioned, you can also have an entity such as AngelFire or Tripod host your site for free. Personally, I hate going to sites hosted there because of the multitude of ads, etc. But if you don't have the cash, then it is a viable option. mind you, if you fart sideways, or use too much bandwidth, they will suspend your site. No warez, cracking, porn, etc.
Now a general rule of thumb is that it is bad to use your production server as your day to day box. If you are planning on hosting a little vanity site for your friends to access, then no big deal. Nobody is going to be hurt by your box going down because someone hacked into your server because you unknowingly downloaded some trojan that turned your server into a spambot..... well, that could be bad. if your ISP thinks you are spamming, they might suspend your acount. At any rate, if you are trying to host a website that is commercial in nature, then you want a completely seperate system. Then you need a router for your now growing network so that when the router gets port 80 requests, it knows which system to send it to.
Then your next option is to rent server space somewhere. If you have no clue what you are doing, and want a dependable site, this is the best way to go. Let someone else worry about all of the nitty gritty, and you can concentrate on the web content. Of course, the expense can be quite high, depending on your bandwidth needs.
In my case, I have a standalone system running Tomcat, which is used to serve up JSP pages, on it's own Cable connection. I moved my everyday systems over to DSL. If my cable happens to go out, I can switch it over to the DSL and be back up in an hour (which is how long it takes for the DNS to propogate the new IP). I registered my domain name with GoDaddy, and administer the DNS myself through FreeDNS.
So, depending on what you want to do, and what your intentions are, there are many possibilities. Maybe you can be a bit more specific about your needs, and we can better help you.