kann mir mal jemand kurz erklären, wie das funktioniert, daß
mehrere unterschiedliche Dienste unter einer IP-Adresse
angeboten werden und der jeweilige Dienst anhand der URL
erkannt wird?
Er wird nicht anhand der URL erkannt.
Zu einem Kommunikationskanal gehören immer zwei Endpunkte, die sich jeweils aus IP-Adresse und Portnummer zusammensetzen. Machst du nun eine Anfrage in deinem Webbrowser http://bla.de dann wird eine tcp Verbindung zu port 80 (default portnummer http) des servers aufgebaut.
Der Server unterscheidet die eingehenden Pakete anhand der Portnummer und gibt sie an die entsprechende Applikation weiter, die auf diesem Port auf eingehdende „Anrufe“ wartet.
Portnummern sind in 2 Bytes gespeichert, es können also (rein theoretisch) 2^16 = 65536 verschiedene Dienste auf einem Server laufen, wobei zu berücksichtigen ist dass es zwei verschiedene Arten von Sockets gibt: streaming sockets (TCP) und datagram sockets (UDP), die unahängig voneinander sind.
Es gibt default portnummern wie 80 für http, damit dein Webbrowser weiß was er machen soll wenn keine Portnummer angegeben wird, aber theoretisch spielt die Nummer keinerlei Rolle.
Die Hauptfrage ist: Funktioniert das auch bei den allerorts
erhältlichen Domain-Hostingangeboten à la 1&1 sowie über
dyndns?
Das mit domainhosting verstehe ich nicht, dann muss natürlich auf dem webserver auch ftp etc. laufen, wenn du da mehreres willst
bei dyndns: JA. dyndns wandelt ja nur einen hostnamen in eine IP-Adresse um, d.h. auf deinem privaten rechner kannst du dann die ganzen Dienste die du möchtest betreiben
Wer liest da was aus, ist das ein Feature des Webservers oder
kann ich das auch eine HTML-Datei machen lassen, bspw. via
Javascript / Java o.ä. und anschließender automatischer
Weiterleitung?
Das Betriebssystem / Kernel / IP-Stack wie auch immer liest das aus. Du kannst da nichts „programmieren“, weil die URL überhaupt keine Bedeutung hat in dem Zusammenhang.
Grüße
Bruno