LU03b - Web-Kommunikation mit Node.js (GET & POST)
1. Einleitung: Der Zusammenhang von GET und POST
Bevor wir uns mit dem Quellcode befassen, ist es wichtig, den Kommunikationsfluss im Internet zu verstehen. Dieser Austausch folgt dem Client-Server-Modell.
Stellen Sie sich diesen Prozess wie einen Briefwechsel vor:
Der Request (Anfrage): Sie (der Client) senden einen Brief an den Server. Auf dem Umschlag steht, ob Sie nur Informationen erhalten möchten (GET) oder ob Sie ein Paket zur Verarbeitung mitschicken (POST).
Die Verarbeitung: Der Node.js-Server nimmt Ihren Brief entgegen, liest die Absicht aus und entscheidet, welche Logik ausgeführt werden muss.
Die Response (Antwort): Der Server sendet Ihnen eine Rückmeldung (Antwort), die das Ergebnis Ihrer Anfrage sowie einen Statuscode enthält.
2. Theorie: Die HTTP-Methoden im Detail
In der Webentwicklung nutzen wir das HTTP-Protokoll. Die Wahl der Methode definiert die Semantik (den Sinn) Ihrer Anfrage.
Die GET-Methode dient dazu, Daten vom Server anzufragen, ohne diese zu verändern.
Datenübertragung: Parameter werden offen an die
URL angehängt (z. B.
suche?artikel=laptop).
Sichtbarkeit: Da die Daten in der Adresszeile stehen, sind sie für jedermann sichtbar und werden im Browserverlauf gespeichert.
Einsatzgebiet: Anzeigen von Webseiten, Suchanfragen, Abrufen von Profilbildern.
POST: Daten übermitteln
Die POST-Methode wird verwendet, um Daten zur Verarbeitung an den Server zu senden.
Datenübertragung: Die Informationen befinden sich im sogenannten
Body (Körper) der Anfrage. Sie sind nicht in der
URL sichtbar.
Sicherheit: POST ist sicherer für sensible Daten wie Passwörter, da diese nicht in Logs oder im Verlauf auftauchen.
Einsatzgebiet: Benutzerregistrierungen, Login-Formulare, Hochladen von Dateien.
3. Der Node.js Server und seine Komponenten
Ein Node.js-Server ist die Laufzeitumgebung, die Ihre JavaScript-Logik auf der Serverseite ausführt. Er besteht aus folgenden Kernkomponenten:
Die V8-Engine: Sie sorgt für die schnelle Ausführung Ihres Codes.
Der Event-Loop: Diese Komponente ermöglicht es dem Server, viele Anfragen gleichzeitig zu bearbeiten, ohne bei langsamen Aufgaben (wie Datenbankabfragen) zu blockieren.
Routing: Dies ist der Wegweiser Ihres Servers. Er entscheidet: „Wenn eine GET-Anfrage an /kontakt kommt, sende die Kontaktseite zurück.“
Middleware: Dies sind Hilfsfunktionen, die die Anfrage vor der eigentlichen Logik untersuchen (z. B. um zu prüfen, ob die mitgeschickten Daten im JSON-Format vorliegen).
Volkan Demir