So, first, well figure out what the Web is.
First of all, this is any static data, files, CSS (Cascading Style Sheets) or style sheet, JS (JavaScript) is a scripting programming language, executed in the browser, pictures, HTML files 
But static data is not very interesting to us (except for any important files stored on the web server), since there are usually no vulnerabilities associated with them. We are interested in the beginning in which language the web application is written. The language on which the web application is written can be absolutely anything, from default PHP, Ruby, Python and to ASM, but, of course, most often any scripting language is used.
After the language, we need to understand what the web application is spinning  its a server that processes the requests of users and gives them answers to their requests, most often its Apache2 or nginx, but there are other options, for example, for embedded systems often use small, lightweight web servers written in C / C ++.
Next are the databases. DBs are almost always used by a more or less serious web application, the database stores user data, server settings, files, pictures and other very interesting information for the burglar. For large databases, you need convenient control systems or DBMS, often used options: MySQL, Oracle, SQLite.
And the final element of the structure is the OS on which all this is located. It is clear that it can be any, but most often any Linux-distribution (server) is used.