Einen Computer der bestimmte Dienste anbietet, nennt man Server. Ein Server dient uns indem er zum Beispiel unsere E-Mails verschickt oder neue annimmt. Unser E-Mail-Programm greift auf einen E-Mail-Server zu und nutzt diese Dienstleistung.

Der Server stellt die Dienste unter einer IP-Adresse bereit. Ähnlich einer Post-Anschrift ist eine IP-Adresse notwendig. Sonst kann der Server nicht erreicht werden. Es gibt hier interne und öffentliche IP-Adressen. Quasi eine Postleitzahl die nicht bedient wird. Sie kann für die interne Adressierung genutzt werden. Mit öffentlichen IP-Adressen stellen wir unsere Dienste im Internet bereit.

Es gibt zwei bekanntere Versionen von IP-Adressen. Die Version 4 (IPv4) und 6 (IPv6). Beide können sowohl intern als auch öffentlich benutzt werden. Die Adressbereiche sind festgelegt und somit standardisiert. Hier zwei Beispiele für die Versionen:

  • IPv4-Adresse: 192.168.178.1
  • IPv6-Adresse: 0:0:0:0:0:ffff:c0a8:b201

Damit unter einer IP-Adresse nicht nur ein Dienst bereitgestellt werden kann gibt es zusätzlich noch Ports. Es sind die Briefkästen hinter unserer Adresse. Wenn Sie eine Webseite besuchen wird beispielsweise 192.168.178.1:443 von Ihrem Browser (Firefox, Chrome, Edge) aufgerufen. Der Port 443 ist der Dienst für HTTPS auf dem Server mit der angegebenen IP-Adresse. Der Server würde uns dann eine Webseite bereitstellen. Der Browser zeigt diese dann an. Die ersten 1024 Ports sind festen Diensten zugeordnet (Well Known-Ports). Diese sollten Sie im Regelfall nicht ändern. Für eigene Dienste stehen Ihnen Ports von 1025 bis 49151 offen.

DNS-Server

Eine IP-Adresse kann sich ein Mensch nur schwer merken. Gerade wenn es darum geht alle Lieblings-Webseiten im Kopf zu haben. Einfacher wird es mit Domains wie www.appmagie.com. Dahinter verbirgt sich ebenfalls ein Webserver mit einer IP-Adresse. Hinter dieser tollen Funktion verbirgt sich das Domain Name System (kurz DNS). Im Internet und auch bei Ihnen im Büro und zu Hause gibt es DNS-Server. Zum Beispiel in Ihrem DSL-Router. DNS-Server wandeln den Namen www.appmagie.com in eine IP-Adresse um. DNS funktioniert durch eine Reihe von Abfragen. Jeder DNS-Server hat einen weiteren DNS-Server eingetragen. Wenn der DNS-Server den Namen nicht selbst auflösen kann, fragt er den nächsten. DNS ist hierarchisch aufgebaut. Für alle Adressen mit der Endung .com gibt es beispielsweise eigene DNS-Server. Diese kennen die Antwort auf jeden Fall.

DHCP-Server

Mit der IP-Adresse kann der Computer mehr anfangen als mit einem Namen. Diese IP-Adresse zeigt dem Computer wohin er Ihre Anfragen schicken soll. Ihr Computer hat ebenfalls eine IP-Adresse um kommunizieren zu können. Seine IP-Adresse erhält er dabei von einem DHCP-Server (DHCP = Dynamic Host Configuration Protocol, englisch für dynamisches Anbieter Konfigurationsprotokoll), dieser Dienst läuft ebenfalls automatisch auf ihrem heimischen DSL-Router mit. DHCP ist dabei ein Kommunikationsprotokoll in der Computertechnik, das in einem IP-Netzwerk die IP-Adressen verwaltet und an anfragende Geräte verteilt.

DHCP ermöglicht die Zuweisung der Netzwerkkonfiguration an Clients durch einen Server. Ein DHCP-Server hat einen Bereich von IP-Adressen, die er automatisiert vergeben kann, zum Beispiel 192.168.178.10 bis 192.168.178.100. Wenn Sie ihr Notebook zuhause am Netzwerk anschließen oder es sich mit dem WLAN verbindet, fragt es ihren DSL-Router (als DHCP-Server) nach einer IP-Adresse. Der DSL-Router bietet ihrem Notebook dann die nächste freie IP-Adresse aus seinem Bereich an und Ihr Notebook bestätigt ihm, dass es diese IP nun verwendet. Für eine gewisse Zeit erhält dann Ihr Notebook diese Adresse zugewiesen. Dieses Verfahren trägt die Bezeichnung DHCP-Lease. Eine so zugewiesene IP-Adresse heißt auch dynamische IP-Adresse, weil der Computer auch eine andere IP aus dem IP-Adressen-Pool zugewiesen bekommen kann. Eine IP-Adresse lässt sich auch manuell oder im DHCP-Server fest zuweisen, hier ist dann von einer statischen IP-Adresse die Rede, da diese fest ist und sich nicht ändert.

Web-Server

Über die Web-Server haben wir ja gerade schon gesprochen. Sie liefern Web-Seiten und Web-Anwendungen auf. Die auf dem Web-Server installierten Software-Pakete bestimmen darüber, was der Server verarbeiten kann. WordPress ist ein bekanntes Content-Management-System für die eigene Webseite. Für WordPress benötigen wir beispielsweise die Programmiersprache PHP. Genauer gesagt einen PHP-Interpreter. Dieser interpretiert die Dateien auf unserem Web-Server. Als Ergebnis gibt er eine Webseite an den Kunden aus.

Datenbank-Server

Für WordPress bräuchten wir zusätzlich zum Webserver noch eine Datenbank. Ein Datenbank-Server stellt uns diese Datenverwaltungsdienste bereit. Bekannte relationale Datenbankverwaltungssysteme (DBMS) sind beispielsweise MySQL, MSSQL, PostgreSQL oder Oracle. Man kann sich diese Systeme wie eine Sammlung von Tabellen vorstellen. Unter den Tabellen kann es Beziehungen geben (dazu später mehr). Ein in den letzten Jahrzehnten stark gewachsener Bereich beinhaltet die NoSQL (Not only SQL)-Datenbanken. Cassandra, MongoDB, Redis und CouchDB sind bekannte Vertreter der NoSQL-Datenbanken.

Es gibt unzählige Datenbankbanksysteme. Je nach Anwendungsgebiet findet sich bestimmt ein passendes. Die richtige Wahl lässt sich leider nicht pauschalisieren. Soll die Anwendung später auf einem Webhosting-Paket laufen wird eine relationale Datenbank am meisten Sinn machen. Für hochskalierbare zentrale Software-Angebote könnte eher eine NoSQL-Datenbank passen. Die Planung sollte am besten mit einem Experten, wie dem späteren Entwickler erfolgen. Es gibt noch weitaus mehr Server und Dienste. Einen Teil davon werden wir hier behandeln.