Skip to Content

Client / Server

Wie gelangt eine Webseite auf den Client?

Es gibt zwei verschiedene Möglichkeiten, wie eine Webseite in den Browser gelangen kann:

Variante 1 - Server

Der Code für die Webseite ist auf einem externen Server gespeichert. Diese Datei lässt sich über eine URL https://example.com/index.html aufrufen. Der Browser löst via DNS die IP-Adresse des Servers auf und sendet eine HTTP/HTTPS-Anfrage an diese IP-Adresse und fragt die Datei ab. Der Server sendet die Datei an den Client und der Browser rendert die Datei.

HTML Fetching Request

Der Benutzer gibt die URL in die Adressleiste des Browsers ein und bestätigt seine Eingabe mit Enter. Daraufhin wird eine HTTP-Request verschickt an den Server, der hinter der URL steht. Der Server sucht die aufgerufene Datei und sendet diese mit einem HTTP-Response an den Client. Der Browser rendert die Datei und zeigt sie dem Benutzer an.

Variante 2 - Client

Der Code für die Webseite liegt auf dem lokalen Speicher des Clients. Die Webseite kann per Drag&Drop oder per file:// im Browser aufgerufen werden.

Vorteille bei dieser Variante ist das schnelle Aufrufen der Seite und einfache Testen, da nicht der Quellcode auf den Server geladen werden muss. Die Inhalte der Webseite können auch ohne Internetverbindung angezeigt werden.

Self Hosting

Beim Self Hosting besitzt man selbst einen eigenen (gemieteten) Server auf dem Nginx/Apache läuft. Dadurch hat der Benutzer mehr Kontrolle über Einstellungen und kann neben Webseiten auch andere Dienste anbieten.

Vorteile

  • Schwieriger den Code zu manipulieren
  • Keine Abhängigkeit von externen Servern
  • Tracking durch externe Dienste ist nicht möglich

Nachteile

  • Wichtge Updates müssen selber eingepflegt werden
  • Geschwindigkeit von eigener Hardware abhängig
  • Auf Exploits muss selbst reagiert werden

Sicherheit

Clients und Server müssen sicher sein, dass die Daten nicht manipuliert werden können.

Client

Einen Client kann man absichern indem man folgende Schritte befolgt:

  • Netzwerk schützen (Firewall, VPN, Pihole)
  • Aktuelle Versionen von Browsern und Betriebssystemen verwenden
  • Passwort-Caching nur auf vertrauenswürdigen Geräten verwenden
  • Browser-Plugins nur mit Bedacht installieren
  • Trennung von kritischen Webanwendungen und nicht kritischen Webanwendungen

Server

Einen Server kann man absichern indem man folgende Schritte befolgt:

  • Aktuelle Versionen von Betriebssystemen und Webservern verwenden
  • Security by Isolation
  • Nicht genutzte Komponenten entfernen
  • Verschlüsselung verwenden

Proxy Server

Proxy Server fungieren als Vermittler zwischen Client und Server. Dabei werden alle Anfragen die ein Client sendet an einen Proxy Server geleitet. Der Proxy Server verarbeitet dann die Anfrage und übernimmt folgende Aufgaben:

  • Anfragen verarbeiten und weiterleiten

    • Die Anfrage vom Client wird geprüft (z.B. auf Zugriffsrechte)
    • Leitet die Anfrage an den passenden Zielserver weiter
  • Caching

    • Häufig angefragte Inhalte können auf dem Proxy Server zwischengespeichert werden
    • Verkürzt die Latenz und die Serverlast
  • Sicherheit

    • Filtern von schädlichen Inhalten
    • Verschleierung der Client IP-Adresse
    • Protokollierung von Anfragen
  • Lastenausgleich

    • Loadbalancer verteilt die Anfragen auf mehrere Server

Reverse Proxy

Ein Reverse Proxy Server sitzt vor mehreren Servern und verteilt die Anfragen von Clients auf die richtigen Server.

Reverse Proxy

  • Anfragen verteilen Der Reverse Proxy empfängt Anfragen von Clients und verteilt diese an die passenden Server.
    • Verteilt die Last auf mehrere Server
    • Hochverfügbarkeit: Falls ein Server ausfällt, wird die Anfrage an einen anderen Server weitergeleitet
  • Vereinheitlichung Ein Reverse Proxy erlaubt es mehrere Server mit unterschiedlichen Ports auf einem Server zu hosten. Der Proxy bietet eine einheitliche Schnittstelle für die Clients und versteckt die tatsächlichen Server.

Forward Proxy

Ein Forward Proxy Server sitzt vor einer Gruppe von Clients und verarbeitet alle Anfragen an den Server.

Forward Proxy

  • Zugriffskontrolle / Sicherheit

    • Internetzugang für Client steuern
    • Webseiten oder Inhalte blocken
  • Anonymität

    • Die tatsächliche IP-Adresse des Clients wird nicht offen gelegt
    • Externe Dienste sehen nur die IP-Adresse des Proxy Servers
  • Caching

    • Häufig angefragte Inhalte können auf dem Proxy Server zwischengespeichert werden
    • Verkürzt die Latenz und schont die Bandbreite
Last updated on