You'd want to look into information about the MVC principle of webpage design:
http://en.wikipedia.org/wiki/Model-view-controller
Wiki has a pretty good explanation, but in short, the model is the code behind each page, the views are the HTML, and controller is the brains of the whole operation (handles server requests, user input, routing, etc). Sinatra is a good starting framework for making a website in Ruby. I'm not able to answer your question about hosting unfortunately; depending on what you're making, you could host it with Heroku, or maybe something like GoDaddy.com would be better for your needs. You'd also want to research HTTP verbs:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
Good luck!
To reference pages and resources (images, css, et.c.) you can use either relative paths, virtual paths or absolute paths.
A relative path shows the relation between the items, for example:
An image in the same folder: art.gif
An image in a subfolder: images/art.gif
An image in a parent folder: ../art.gif
An image in a parallel subfolder: ../images/art.gif
A virtual path starts with "/", so it's relative to the root folder of the site:
An image in the root folder: /art.gif
An image in a subfolder: /images/art.gif
An absolute path specifies the complete URL to the resource:
An image in a subfolder: http://www.mysite.com/images/art.gif
To put the pages on the net, you need some kind of hosting. You can start with searching the web for "free hosting" and you will find plenty of sites where you can try this out.
Most free hosting offer a subdomain or subfolder for your site, like mypage.thewebhost.com
or www.thewebhost.com/mypage
. If you want your own domain like www.mypage.com
you need to register it for a fee. Many hosts offer a domain name "for free" when you buy web space, but you will of course end up paying for it in the end as it's included in the fee for the space.
Regardless of how you create the page, it will use HTML in the end. That's what the web is made of. If you use a server side language like ASP.NET or PHP, they still output HTML pages for the browser.