Duckduckgo-able terms are in bold.
The web stack is huge. Most people focus one one part of it. Designers tend to focus on graphics down to HTML and CSS. Front end developers tend to focus on HTML/CSS/JS. Back end developers tend to focus on HTML/HTTP/server side programming. DBAs focus on the databases.
And now… the stack (presented from the middle out).
Websites are based around documents. These are usually written in HTML which is a markup language that describes the semantics, structure and relationships of the text.
They live on a webserver and are transmitted over HTTP (sometimes with encryption via SSL, the combination of the technologies being HTTPS)
When a browser receives a markup document, it converts it into a DOM and renders it.
CSS is a presentation language that describes how a markup document should be presented on various media types (and with media queries on the same media with different properties (such as windows under a certain width having different presentation to windows over a certain width).
Webservers can serve up documents from flat files, but often generate them on the fly (in response to HTTP requests) by running software.
Such software can be written in any language you choose as there are a number of standard interfaces such as CGI and FastCGI. Some languages give you specific interfaces which may provide advantages over the generic ones, e.g. Perl has mod_perl which gives you a vast amount of access to the internals of the webserver (extreme example: I've seen someone turn Apache HTTPD into a spam filtering SMTP mail server using mod_perl).
Ruby is a programming language. Ruby on Rails is an MVC Framework for Ruby. These exist for most languages, Perl has Dancer, Catalyst and MojoMojo, Python has Django, Java has Spring, and so on).
Many programmes use a database for storage and searching. SQL databases are most common (including Postgresql, MySQL, MS SQL and SQLite), but other options are around. JSON based document stores (such as CouchDB) are quite popular.
Since HTTP is stateless, cookies are used to store data between requests. These are stored by the browser and included in each request back to the site that set them.