Too Long; Didn't Read
At the time of writing this article the web is effectively powered by three different major web server software packages. A web server, as covered in this article, basically has two purposes. One is to serve static (no dynamic functionality, no backend, no database, …) web sites, usually consisting of HTML, <a href="https://hackernoon.com/tagged/javascript" target="_blank">JavaScript</a> and CSS plus images etc. The other is to act as a <a href="https://en.wikipedia.org/wiki/Reverse_proxy" target="_blank">reverse-proxy</a> to web application backends. The three servers I just mentioned have a combined market share of 94.7 % (according to <a href="https://w3techs.com/technologies/overview/web_server/all" target="_blank">this statistic</a>) and are named <a href="https://httpd.apache.org/" target="_blank">Apache 2</a> (or <em>httpd</em>) (written in C), <a href="https://www.nginx.com/solutions/web-server/" target="_blank">nginx</a> (say <em>“engine ex”</em>) (also written in C) and <a href="https://www.iis.net/" target="_blank">Microsoft IIS</a> (written in C++). While the first two are platform independent and open-source, the latter is a proprietary, commercial, Windows-only <a href="https://hackernoon.com/tagged/microsoft" target="_blank">Microsoft</a> product and therefore more interesting at enterprise level rather than for smaller indie projects. Consequently I won’t cover IIS further in the following.