Buffl

Allgemein

DK
von Dan K.

Zusammenhang & Unterschiede: Webserver, Backend-Server, Reverse Proxy

🧱 1. Webserver

📌 "Empfangshalle" – verarbeitet oder leitet weiter

  • Empfängt HTTP-Anfragen von Clients (Browser, API-Clients).

  • Kann statische Inhalte direkt liefern (HTML, CSS, Bilder).

  • Kann Anfragen an Backend-Server weiterleiten, wenn Inhalte dynamisch erzeugt werden müssen.

  • Optional: Auch als Reverse Proxy einsetzbar (z. B. Nginx).

🛠️ Typische Software: Nginx, Apache HTTPD, Caddy, IIS

➡️ Er kann sowohl direkt antworten (z. B. mit einer HTML-Seite) als auch nur durchreichen (Reverse Proxy oder Weiterleitung an Backend).

⚙️ 2. Backend-Server

📌 "Küche" – verarbeitet Logik & Daten

  • Verarbeitet Geschäftslogik, z. B. Bestellungen, Benutzeranfragen, etc.

  • Erzeugt dynamische Inhalte – oft mit Hilfe von Datenbanken oder APIs.

  • Wird meist nicht direkt vom Client angesprochen, sondern nur über den Webserver oder Reverse Proxy.

🛠️ Typische Technologien: Node.js, Django, Spring Boot, Rails, Flask, etc.

➡️ Antwortet auf Anfragen vom Webserver mit JSON, HTML, etc.

🔁 3. Reverse Proxy

📌 "Vermittler" – intelligente Weiterleitung & Schutz

  • Steht vor Webservern oder Backend-Servern.

  • Leitet Anfragen an den passenden Server weiter (z. B. Webserver 1, Webserver 2…).

  • Bietet Lastverteilung, SSL-Termination, Sicherheit, zentralen Zugangspunkt.

🛠️ Typische Software: Nginx, HAProxy, Traefik, Envoy

➡️ Er leitet Anfragen weiter, antwortet aber meist nicht selbst.

🔄 Zusammenspiel (Visualisiert):

Client (Browser)

[Reverse Proxy] ← optional

[Webserver]

[Backend-Server]

📌 Beispielablauf:

  1. Browser ruft https://example.com/user/123 auf.

  2. Reverse Proxy empfängt die Anfrage, entscheidet: → Webserver 1 zuständig.

  3. Webserver (z. B. Nginx): Erkennt, dass /user/123 dynamisch ist → leitet an Backend-Server weiter.

  4. Backend-Server (z. B. Django-App): Holt User-Daten aus Datenbank, generiert HTML oder JSON.

  5. Antwort geht zurück über Webserver → ggf. über Reverse Proxy → an den Client.

🧠 Merksätze:

  • Webserver = Türsteher → entscheidet, ob er reinlässt (statisch) oder an die Küche weiterleitet (Backend).

  • Backend-Server = Koch → bereitet alles frisch zu (dynamische Inhalte).

  • Reverse Proxy = Empfang & Dispatcher → entscheidet, wer überhaupt angesprochen wird, und schützt das Haus.


Author

Dan K.

Informationen

Zuletzt geändert