HTTP HyperText Transfer Protocol (HyperText Transfer Protocol) ist ein Protokoll für die Übertragung von Daten über das Internet. Ohne sie ist es unmöglich, sich ein modernes Web vorzustellen. HTTP-Anforderungen sind ein wesentlicher Bestandteil der Interaktion zwischen Clients und Servern im Internet. Sie ermöglichen das Empfangen verschiedener Daten, das Senden von Informationen an den Server und das Ausführen verschiedener Aktionen auf Webseiten.
In diesem ausführlichen Handbuch werden wir uns ansehen, wie eine HTTP-Anfrage gestellt wird. Sie erfahren mehr über verschiedene Arten von Anfragen wie GET, POST, PUT und DELETE sowie darüber, wie Sie Anforderungen Parameter hinzufügen und Antworten vom Server verarbeiten können.
Bevor Sie mit HTTP-Anforderungen beginnen, müssen Sie ein grundlegendes Verständnis der Client-Server-Architektur haben und sich mit den Grundlagen des HTTP-Protokolls vertraut machen.
Das gebräuchlichste Werkzeug zum Ausführen von HTTP-Anfragen ist der Browser. Es gibt jedoch auch viele Tools zum Automatisieren und Testen, wie zum Beispiel Befehlszeile, cURL, Postman und andere.
Was ist HTTP
HTTP basiert auf dem Client-Server-Modell, wobei der Client ein Webbrowser und der Server ein Webserver ist. Wenn ein Benutzer eine Anforderung zur Anzeige einer Webseite sendet, generiert sein Webbrowser eine HTTP-Anforderung und sendet sie an den Server. Als Antwort sendet der Server eine HTTP-Antwort mit den angeforderten Daten.
Eine HTTP-Anforderung besteht aus mehreren Teilen: der Anforderungsmethode, dem Ressourcenpfad, der Protokollversion, den Headern und dem Anforderungstext. Die Anforderungsmethode definiert den Typ des Vorgangs, der für die Ressource ausgeführt werden soll (z. B. GET zum Abrufen von Daten, POST zum Senden von Daten). Der Ressourcenpfad verweist auf eine bestimmte Ressource, mit der Sie interagieren möchten. Die Protokollversion gibt die verwendete HTTP-Version an. Die Header enthalten zusätzliche Informationen zur Abfrage (z. B. Datentyp, Sprache, Caching). Der Anforderungstext enthält zusätzliche Daten, die an den Server gesendet werden können (z. B. Formulardaten).
Eine HTTP-Antwort besteht aus einer Statuszeichenfolge, Headern und einem Antworttext. Die Statuszeile enthält einen Statuscode, der das Ergebnis der Abfrageausführung angibt (z. B. 200 OK, 404 Nicht gefunden). Die Header enthalten zusätzliche Informationen zur Antwort (z. B. Datentyp, Datum und Uhrzeit). Der Antworttext enthält Daten, die vom Server zurückgegeben werden.
HTTP ist ein inkonsistentes Protokoll, dh es speichert den Status nicht zwischen Anfragen. Jede Anfrage wird vom Server separat behandelt, ohne Informationen zu früheren Anfragen zu erhalten.
Das HTTP-Protokoll ist recht einfach und erweiterbar, was es zu einem beliebten und bequemen Austausch von Daten im Internet macht.
Wie funktioniert eine HTTP-Anfrage
Eine HTTP-Anforderung besteht aus mehreren Teilen:
Abfragemethode: Die Abfragemethode definiert den Typ der Aktion, die der Server ausführen soll. Einige der gebräuchlichsten Abfragemethoden sind:
- GET - Abfrage zum Abrufen von Daten
- POST - Anforderung zum Senden von Daten an den Server
- PUT - Abfrage zum Aktualisieren von Daten auf dem Server
- DELETE - Abfrage zum Löschen von Daten auf dem Server
URL: Die URL (Uniform Resource Locator) ist die Adresse der Webseite oder Ressource, an die die Anfrage gesendet wird. Es besteht normalerweise aus einem Protokoll (z. B. "http://" oder "https://"), einem Domain-Namen (z. B. "example.com ") und den Pfad zur Ressource (z. B. "/path/to/resource").
Ueberschriften: Die Header enthalten zusätzliche Informationen über die Anfrage, z. B. Datentyp, Sprache, Cookies usw. Sie können verwendet werden, um die Anforderungen des Kunden zu klären und zusätzliche Daten oder Metadaten zu übermitteln.
Der Anforderungstext: Der Anforderungstext enthält die Daten, die der Client an den Server sendet. Im Falle einer GET- oder DELETE-Anforderung fehlt normalerweise der Anforderungstext. In einer POST- oder PUT-Anforderung enthält der Anforderungstext die Daten, die an den Server gesendet werden sollen.
Nachdem der Client eine HTTP-Anforderung generiert hat, sendet er diese an den Server unter der angegebenen URL. Der Server verarbeitet die Anforderung und sendet die Antwort mit den erforderlichen Daten oder der ausgeführten Aktion zurück.
HTTP-Anforderungstypen
HTTP definiert mehrere Anforderungstypen, die vom Client an den Server gesendet werden können. Jeder Abfragetyp führt eine andere Funktion aus und wird verwendet, um bestimmte Aktionen auszuführen.
GET: Abfrage, um Informationen vom Server abzurufen. GET-Anfragen können zwischengespeichert und dem Browserverlauf hinzugefügt werden. Sie sind normalerweise auch in der Größe begrenzt.
POST: Eine Anforderung, um Daten zur Verarbeitung an den Server zu senden. POST-Anfragen werden weder zwischengespeichert noch zum Browserverlauf hinzugefügt. Sie können verwendet werden, um große Datenmengen zu senden.
PUT: Eine Anforderung zum Erstellen oder Aktualisieren einer Ressource auf dem Server. PUT-Abfragen bieten nützliche Header und Anforderungstext, um anzugeben, wo und wie die Daten aktualisiert werden sollen.
DELETE: Eine Anforderung zum Löschen einer Ressource auf dem Server. DELETE-Abfragen werden verwendet, um Informationen zu löschen, normalerweise an einem angegebenen URI.
HEAD: Eine Abfrage, um die Metadaten einer Ressource abzurufen, ohne dass der eigentliche Inhalt vorhanden ist. HEAD Abfragen können verwendet werden, um die Verfügbarkeit einer Ressource zu überprüfen und Serverinformationen abzurufen.
OPTIONS: Abfrage, um mögliche Optionen oder Funktionen abzurufen, die vom Server für die angegebene Ressource unterstützt werden. OPTIONS Anforderungen können nützlich sein, wenn Sie die verfügbaren HTTP-Methoden für eine bestimmte Ressource definieren.
TRACE: Eine Anforderung, um die Transparenz der Staging-Server zu überprüfen. TRACE-Abfragen ermöglichen es dem Client, zu sehen, wie sich die Anforderung auf dem Weg zum Server ändert.
Dies ist keine vollständige Liste aller Abfragetypen, deckt jedoch die am häufigsten verwendeten Typen ab. Es ist wichtig, sich daran zu erinnern, dass jeder Abfragetyp seinen Zweck hat und entsprechend verwendet werden muss.
Wie mache ich eine GET-Anfrage
Um eine GET-Anfrage mit JavaScript zu senden, können Sie die Fetch- Funktion verwenden. Hier ist ein Beispielcode:
In diesem Beispiel senden wir eine GET-Anfrage an den Server unter https://example.com/data und erwarten eine Antwort im JSON-Format. Nachdem wir die Daten erhalten haben, verarbeiten wir das Ergebnis und geben es an die Konsole aus.
Sie können der URL auch Parameter hinzufügen, um zusätzliche Daten an die GET-Anforderung zu übergeben. Zum Beispiel:
In diesem Beispiel haben wir der URL zwei Parameter, id=123 und name=John , hinzugefügt. Der Server kann diese Parameter verwenden, um zusätzliche Logik auszuführen und die entsprechenden Daten zurückzugeben.
GET-Anforderungen können auch mit anderen Tools wie curl oder Postman ausgeführt werden, indem Parameter und URL zu den entsprechenden Feldern hinzugefügt werden.
Es ist wichtig zu beachten, dass GET-Anforderungen vom Browser zwischengespeichert werden können, was zu veralteten Daten führen kann. Wenn Sie immer aktuelle Daten abrufen müssen, wird empfohlen, andere Methoden wie POST zu verwenden.