If you are only going to do it in HTML, then you could first create the website and test it right on your computer, and then search for a host.
Anyway.
There are lots of free webhosts. I myself use
000Webhost.com wich I think is very good for being free. Of couse you can get better functions and support and such if you pay, but it is nothing needed.
When you have set up your host, you need to get the FTP details from the website you have registered on.
You also need a FTP program such as
FileZilla(Works for all operating systems).
When you have installed your FTP program, open it and enter the FTP details into the program and click "Connect" or whatever it says.
From there it is just about the same as copying and pasting in Windows Explorer(or if you are using Mac, Finder).
When you have uploaded all files you want, you can test the website by typing in the address you have got when registering on your host's website.
Be sure to have a file which is called something like default, index, or start or anything like that. Because when typing in the address the host will look after this file. The file name depends on the host.
That is about how I did when making my website.'
If I'm unclear or you have questions, feel free to ask.