Die Client-Server-Architektur gehört zu den Softwarebeziehungsmodellen, die auch in der professionellen Webentwicklung genutzt werden. Sie verknüpft Rechner in einem Netzwerk oder im Internet. Der Server bearbeitet und erfüllt die Anfragen des Clients und dient der Verteilung von Diensten und Aufgaben in einem Netzwerk.
Die Client-Server-Architektur beschreibt die Beziehung zwischen zwei oder auch mehreren Computerprogrammen. Ein Programm fragt dabei einen Dienst bei einem anderen Programm, dem Server, an. Das kann bspw. der Zugriff auf Websites sein, das Laden von Daten, aber auch die Nutzung des E-Mail-Verkehrs. Im Internet besucht der User mit seinem Browser (Client) eine Website und ruft dabei vom Server eine HTML-Datei ab. Der Server ist für Request und Response ständig aktiviert und wartet auf die Anfragen. Die dazu genutzten Protokolle sind etwa HTTP oder auch SNMP.
Eine andere Verknüpfungsoption ist das Peer-to-Peer-Modell oder auch das Master-Slave-Modell. Die Vorteile der Client-Server-Architektur liegen jedoch auf der Hand: Der Ressourcenverbrauch ist niedrig, die Skalierung gut, es müssen in der Regel keine teuren und großen Server angeschafft werden und die nötige Administration ist gering.