Un serveur http, est un application permettant de fournir un service web sur le protocol http (ou https). A proprement parler, un serveur web est un service applicatif, on ne parle pas réellement de serveur de type machine, mais belle est bien d'un logicielle permettant d'exposer du contenu web.
Personellement, j'ai l'habitude de travailler sous nginx et apache. Les deux serveurs les plus répandu. Cependant il existe un ensemble de script / application qui permettent d'ouvrir un service web sur le protocol http.
C'est tout simple, sans serveur web, pas de contenu à exposer. En soit n'importe qu'elle site internet à besoin d'être exposer à l'aide d'un programme. Ce programme s'appel un serveur web.