# Server

In der Informatik ist ein Server (englisch server, wörtlich Diener oder Bediensteter, im weiteren Sinn auch Dienst) ein Computerprogramm oder ein Gerät, welches Funktionalitäten, Dienstprogramme, Daten oder andere Ressourcen bereitstellt, damit andere Geräte oder Programme („Clients“) darauf zugreifen können, meist über ein Netzwerk. Diese Architektur wird als Client-Server-Modell bezeichnet.
Dabei hat Server zwei verwandte, aber unterschiedliche Grundbedeutungen:
* Ein Server als Software ist ein Programm, das im Client-Server-Modell mit einem anderen Programm, dem Client (englisch für Kunde), kommuniziert. Der Client kann dadurch bestimmte, von der Server-Software bereitgestellte Funktionalitäten nutzen, zum Beispiel Dienstprogramme, Netzwerkdienste, den Zugang zu einem Dateisystem oder einer Datenbank.
* Ein Hardware-Server (siehe Hostrechner) ist ein Computer, auf dem ein oder mehrere Server (Software) laufen.
Diese Doppeldeutigkeit des Begriffs Server führt in einigen Fällen zu Verwirrungen, da die Bezeichnung häufig in einer Form verwendet wird, in der insbesondere für Laien schwer erkennbar ist, ob der Hardware- oder der Software-Aspekt gemeint ist.

## Server als Software und Client-Server-Konzept

In der ursprünglichen Bedeutung des Wortes in der Informatik ist ein Server ein Computerprogramm, das einen Netzwerkdienst anbietet. Im Rahmen des Client-Server-Modells kann ein anderes Programm, der Client („Kunde“), diesen Dienst nutzen. Client und Server laufen als Programme typischerweise auf verschiedenen Rechnern, seltener auch auf demselben Rechner. Ein Webbrowser wie Google Chrome oder Microsoft Edge ist beispielsweise ein Client, mit dem eine Anfrage an einen Webserver gestellt wird, der ihm eine Antwort zurückgibt.
Der Server ist in Bereitschaft, um jederzeit auf die Kontaktaufnahme eines Clients reagieren zu können. Die Regeln der Kommunikation (Format, Aufruf des Servers und die Bedeutung der zwischen Server und Client ausgetauschten Daten), nennt man Netzwerkprotokoll; diese Regeln sind jeweils für einen Dienst festgelegt.
Allgemein kann das Konzept ausgebaut werden zu einer Gruppe von Servern, die eine Gruppe von Diensten anbieten, Beispiele: Mail-Server, (erweiterter) Web-Server, Applikations-Server, Datenbank-Server.
Da in der Praxis Server meist gesammelt auf bestimmten Rechnern laufen, hat es sich eingebürgert, diese Rechner selbst als Server zu bezeichnen. Die gleichen Beispiele: Mailserver, Webserver oder Applikationsserver.
Im Sprachgebrauch für Software-Server und -Clients hat es sich eingebürgert, diesen die Fähigkeiten zuzuschreiben, die eigentlich von der Hardware bereitgestellt werden. So nimmt in diesem Sprachgebrauch bspw. die Client-Software mit der Server-Software Kontakt auf, obwohl sie dazu nur durch die Hardware befähigt wird. Man abstrahiert also vollkommen von der Art und Weise, wie die Verbindung technisch realisiert wird, und davon, welche und wie viele Rechner an diesem Ergebnis beteiligt sind. So können sich bspw. beide (Client und Server) auf demselben Rechner befinden, über ein Kabel oder auch über das Internet verbunden sein.
Hier noch einige Beispiele für Server:
| Art | Beschreibung |
| Application-Server | Ein Applications-Server stellt Anwendungen zentral bereit. Ein Client startet somit das gewünschte Programm nicht von der lokalen Festplatte, sondern von diesem Server aus. Ein Vorteil eines solchen Servers ergibt sich z. B. beim Einspielen von Programm-Updates: diese Aktualisierungen müssen nur einmalig auf dem Server eingespielt werden, und können dann von diesem an die Clients verteilt werden. Häufig ist noch ein kleiner lokaler Installationsteil notwendig, bevor ein Programm zum Einsatz am Client kommen kann. Werden Programme direkt auf dem Server ausgeführt, spricht man von einem Terminalserver. |
| CD-ROM-Server | Ein Rechner, der mit optischen Laufwerken (wie beispielsweise CD-ROM-Laufwerken) ausgestattet ist; dieser Rechner stellt dann die Inhalte der optischen Datenspeicher allen am Netz angeschlossenen Rechnern und Benutzern zur Verfügung. |
| Datenbank-Server | Dieser Server arbeitet mit einem geeigneten Datenbankmanagementsystem (kurz DBMS), mit dem er große Datenbestände zentral zur Verfügung stellen kann, sodass mehrere Clients gleichzeitig mit diesen Daten arbeiten können. |
| File-Server | Ein Server zum Speichern aller Daten, die von Benutzern erstellt wurden. Der Rechner, auf dem der File-Server läuft, ist meistens mit einer oder mehreren Festplatten mit großer Kapazität und hoher Zugriffsgeschwindigkeit ausgestattet. |
| Mailserver | Ein Server, auf dem für jeden Benutzer ein Postfach angelegt wird, sodass mit Hilfe dieses Servers über (elektronische) Briefe (oder E-Mails) kommuniziert werden kann. |
| Print-Server | Dieser Server stellt zentral Drucker zur Verfügung und koordiniert eingehende Druckaufträge. Der Rechner, auf dem dieser Server läuft, ist meistens mit mehreren Anschlussstellen für mehrere Drucker ausgerüstet. |
| Proxy-Server | Dieser Server bietet für alle Benutzer einen zentralen Zugang zum Internet an und verwaltet diesen. |

## Server als Bezeichnung für Hardware

Der Begriff Server als Hardware wird verwendet. Im Gegensatz zu einem typischen Heim-PC konzentriert sich ein Server-Computer meist auf eine spezielle Anwendung (z. B. Steuerung von mechanischen Anlagen, Leitsysteme, Überwachungsanlagen, Geldtransfer, Datenspeicherung). Das Betriebssystem eines typischen Server-Geräts ist für diese Aufgabe spezialisiert, indem nicht notwendige Schnittstellen und Bauteile, die man an und in PCs findet, eingespart werden. Diese Reduktion von Hard- und Software auf das Wesentliche wird auch als Serverhärtung bezeichnet.
* als Bezeichnung für einen Computer, dessen Hardware auf Serveranwendungen abgestimmt ist, teils durch spezifische Leistungsschwerpunkte (z. B. hoher I/O-Durchsatz, großer Arbeitsspeicher, viele CPUs, hohe Zuverlässigkeit, 24/7-Systeme, die nie abgeschaltet werden, mit Ausnahme von speziellen „Video-Servern“ in der Regel unbedeutende Grafikleistung).
* Serverfarm
* Server-Rack
* Bladeserver
Die Überwachung und Wartung eines Servers stellt eine wichtige Tätigkeit in jedem Unternehmen dar. Häufig zum Einsatz kommen dabei sogenannte Netzwerküberwachungssysteme.

### Virtuelle Server

Es gibt auch den umgekehrten Fall, in dem auf einem zumeist leistungsfähigen Host mehrere Software-Server installiert sind. Den Benutzern bleibt dabei verborgen, dass die verschiedenen Dienstleistungen in Wirklichkeit von nur einem einzigen Host abgewickelt werden.
Beide Anordnungen bezeichnet man als virtuellen Server. Zu unterscheiden sind dabei virtuelle Hosts und virtuelle Server (Software). Es gibt verschiedene Virtualisierungsarten.

### Dedizierte Server

Ein dedizierter (englisch dedicated […], dt. wörtlich gewidmet, bestimmt oder zugeordnet) Server ist ein Server oder ein eigenständiges Gerät, der für einen Netzwerkdienst oder mehrere dauerhaft betriebene Dienste vorgesehen ist, und nicht nebenbei für andere Aufgaben, etwa als Workstation, genutzt wird. Im Marketing von Serverhousing-Anbietern werden unter ähnlichen Begriffen wie englisch bare metal server Angebote bezeichnet, bei denen einem Kunden das exklusive Nutzungsrecht für ein einzelnes physisches Gerät vermietet wird, oft verbunden mit dem vollen Zugang zur physischen Hardware bis auf das Niveau von BIOS-Einstellungen und der Wahl bestimmter Hardwarekomponenten, und sich der Kunde diese physische Serverhardware nicht wie bei virtuellen Servern mit anderen Kunden und deren Diensten teilen muss. Üblicherweise befinden sich dedizierte Server mit einer Vielzahl ähnlicher Geräte zusammen in einem Rechenzentrum.

### Shared Server

Ein Shared Server (englisch shared […], dt. teilend oder anteilig) ist ein Server, der nicht exklusiv einem Kunden oder einer bestimmten Aufgabe zur Verfügung steht. Im Marketing wird er genutzt, um einen im Vergleich zum exklusiv genutzten dedizierten Server (siehe oben) günstigeren Tarif für einen einzelnen Kunden zu realisieren. In der Praxis werden zeitweilige Lastspitzen auch bei der Nutzung eines einzelnen Servers durch mehrere Kunden, die darauf zum Beispiel jeweils ihre Internetpräsenz betreiben, durch Loadbalancing seitens des Betreibers teilweise ausgeglichen. Sie führen daher nicht notwendigerweise zu Leistungseinbußen wie etwa langen Ladezeiten von Webseiten, was den theoretischen Nachteil gegenüber dedizierten Servern relativieren kann.

## Host und Server

Jene Computer, auf denen man die ersten Server programmierte, wurden als Host bezeichnet (vgl. Host-Terminal-Prinzip). Zu dieser Zeit waren Hosts fast ausschließlich spezielle, leistungsfähige Computer (Großrechner). Der Ausdruck Host wird in der EDV schon frühzeitig in den 1960er Jahren im Zusammenhang mit Großrechnern oder der mittleren Datentechnik und den dort üblichen Time-Sharing- oder Mehrbenutzer-Betriebssystemen gebraucht. Diese Systeme sind stark gegliedert und bestehen im Wesentlichen aus einer Zentraleinheit, die auch als Host bezeichnet wird und alle „Intelligenz“ beherbergt, und den „dummen“ Terminals, die lediglich als Benutzerendgeräte an den Arbeitsplätzen eingesetzt werden und praktisch nur zur Eingabe und Ausgabe von Daten dienen. Der häufig auch als Synonym benutzte Ausdruck Server ist jünger und kommt aus dem Bereich der Personal Computer und Betriebssystemen wie Banyan Vines, macOS, Netware oder Unix. Als die Vernetzung dieser Rechnerklasse am Ende der 1980er Jahre praktisch überall Einzug hielt, suchte man zur Abgrenzung von den bestehenden Host-basierten Architekturen eine alternative Bezeichnung und etablierte hierzu den Ausdruck Server. Als stellvertretendes Beispiel sei hier der dedicated NetWare Server genannt. Die Architekturen auf Basis von Personal Computern kennen typischerweise keine „intelligenten“ Hosts im Kontrast zu „dummen“ Terminals, hier ist jedes System mit mehr oder weniger „Intelligenz“ ausgestattet. In diesem Kontext werden Rechnersysteme (Hardware und Software), die im Wesentlichen anderen Systemen Leistungen zur Verfügung stellen (siehe Server (Software)), als Server bezeichnet. Im Unix-Umfeld ist die Differenzierung zu dieser Zeit deutlicher; hier werden (meist grafische) Workstations und Workstation-Betriebssysteme sowie deren Software von (meist Konsole-basierten) Servern und Server-Betriebssystemen mit zugehöriger Software unterschieden. Mittlerweile sind allerdings beide Ausdrücke – zumindest umgangssprachlich und im Zusammenhang mit Hardware – praktisch gleichbedeutend.

## Formen

Der einfachste Fall eines Servers ist der, bei dem auf einem Host genau eine Server-Software installiert wird.
Wenn die Leistungsfähigkeit eines einzelnen Hosts nicht ausreicht, um die Aufgaben eines Servers zu bewältigen, kann man mehrere Hosts zu einem Verbund zusammenschalten, der auch Computercluster genannt wird. Hierzu wird auf allen Hosts eine Software installiert, die bewirkt, dass sich dieser Cluster gegenüber den Clients wie ein einzelner Server darstellt. Dem Benutzer, der über seinen Client mit dem Server verbunden ist, bleibt dabei verborgen, welcher Host welchen Teil seines Auftrages abarbeitet. Beim Server handelt es sich dann um ein Verteiltes System.

## Betriebssysteme

Im Internet sind UNIX-ähnliche Open-Source-Distributionen wie Linux und FreeBSD die dominierenden Betriebssysteme unter den Servern, wobei Windows Server auch einen gewissen Anteil hat. Proprietäre Betriebssysteme wie z/OS und macOS Server werden ebenfalls bereitgestellt, jedoch in viel geringerer Anzahl. In Firmen kommen ebenfalls unter anderem noch AIX, HP-UX und Oracle Solaris zum Einsatz.