You can put any web application (i.e ruby on rails store etc) up on Heroku and until it starts getting high traffic or the database grows - its free. You should be able to generate revenue to match the growth .. assuming it is a revenue producing site... if it is just a plain information based site there are plenty of free (or virtually free) sites 20$/yr etc
It depends on the complexity of your website.
You can start from wix.com
there are tones. My recommendation is that if you want free, then look for a provider in the country / region the majority of your audience is in. an example one that I like is: http://www.freehosting.com i use this for my test area. can use your own FTP software to upload etc. There are thousands as i say, Id just try a few for a couple of weeks and see which best fits your needs, see if you are happy with performance, uptime etc (which is what gets impacted from a free service).
There are several cloud hosting sites such as OpenShift, Heroku, etc where you can get basic hosting spaces for free.
You could get free hosting, but its certainly requires a degree of expertise to deploy. One very flexible option is to sign up for a free account on Amazon AWS, and deploy your web application using ElasticBean: http://aws.amazon.com/elasticbeanstalk/.
Other options are to use Google App Engine: https://cloud.google.com/products/app-engine, or like Timothy and Mahesh suggested, Heroku (if you're web application is on Ruby, Node.js, Clojure, Java, Python and Scala): https://www.heroku.com/.
Free Web hosting - You can get a 10 GB of free space and 10GB of bandwidth for free with 99.9% uptime. Read more features here.
Why are you going for free hosting, Free hosting will ruined you online presence that is not reliable it will redirect your visitors to some Spam website and they have lowest up time. if you really serious about your business then go for Good web Hosting service like https://www.7ghosting.in