EMZETT.
Login

Request

Kurz: Eine Anfrage, die ein Client an einen Server schickt, um eine Aktion auszulösen oder Daten abzurufen — die Grundlage des Request-Response-Musters vieler Protokolle.

Genauer: Bei HTTP z. B. besteht ein Request aus einer Methode (GET, POST etc.), einem Pfad und optional Kopfdaten/Body. Der Server beantwortet jeden Request mit einer Response. Dieses Muster zieht sich durch viele Protokolle, nicht nur HTTP.

Im Detail

Das Request-Response-Muster ist eines der grundlegendsten Kommunikationsmuster in der Netzwerktechnik: Ein Client initiiert IMMER die Kommunikation, der Server reagiert nur — der Server kann von sich aus nicht “einfach so” eine Nachricht an einen Client schicken, ohne dass dieser vorher gefragt hat (Ausnahmen wie Push-Mechanismen bauen dafür eine eigene, dauerhafte Verbindung auf). Dieses Muster ist bewusst einfach gehalten: Es ist leicht vorhersagbar, leicht zu debuggen (jede Antwort lässt sich eindeutig ihrer Anfrage zuordnen) und passt gut zum “zustandslosen” Charakter vieler Webprotokolle.

Bei HTTP enthält ein Request typischerweise: eine Methode (GET zum Abrufen, POST zum Erstellen, PUT/PATCH zum Ändern, DELETE zum Löschen), einen Pfad (welche Ressource ist gemeint), Header (Metadaten wie Authentifizierung oder gewünschtes Antwortformat) und optional einen Body (die eigentlichen Nutzdaten, z. B. bei POST). Andere Protokolle nutzen dasselbe Grundmuster mit anderen Details — ein DNS-Request fragt z. B. nach der IP-Adresse eines Domainnamens, ein ICMP-Echo-Request (die Grundlage von Ping) fragt schlicht “bist du erreichbar?”.

Ein Beispiel-Request im Rohformat

So sieht ein minimaler HTTP-Request “auf der Leitung” aus, bevor er in einer Browser-Oberfläche oder API-Bibliothek versteckt wird:

GET /wiki/07-netzwerktechnik-und-protokolle/tcp HTTP/1.1
Host: emzett-digital.com
Accept: text/html
User-Agent: Mozilla/5.0

Die erste Zeile nennt Methode, Pfad und Protokollversion; die folgenden Zeilen sind Header-Felder als Schlüssel-Wert-Paare. Bei einem POST-Request würde nach einer Leerzeile zusätzlich der Body folgen, z. B. als JSON-Datenstruktur.

Zustandslosigkeit als Designprinzip

Ein wichtiges Merkmal des HTTP-Request-Response-Musters ist Zustandslosigkeit: Jeder Request wird vom Server unabhängig von allen vorherigen behandelt, der Server “erinnert” sich standardmäßig an nichts zwischen zwei Requests. Das macht Server leichter skalierbar (jeder Request kann von einem beliebigen Server einer lastverteilten Server-Flotte beantwortet werden, ohne dass dieser den vorherigen Verlauf kennen müsste), erfordert aber Zusatzmechanismen wie Cookies oder Auth-Tokens, wenn eine Anwendung sich doch an einen Nutzer über mehrere Requests hinweg “erinnern” soll (z. B. einen eingeloggten Zustand).

Siehe auch: HTTP, Echo Request