Kursinhalt
Spring Boot Backend
Spring Boot Backend
Wie HTTP Funktioniert
Sie haben sich vielleicht gefragt, wie Ihre Anfragen verarbeitet werden und wie Seiten mit Daten geladen werden, abhängig von der URL, die Sie in Ihrem Browser eingeben. Das HTTP-Protokoll hilft uns bei diesem Prozess.
Was versteht man unter einem Client? Im Kontext von HTTP bezieht sich ein Client auf ein Programm oder Gerät, das Anfragen an einen Server stellt, um Daten oder Ressourcen abzurufen. Am häufigsten ist der Client ein Webbrowser (wie Chrome, Firefox oder Safari), den Sie verwenden, um Websites zu besuchen.
Die Antwort des Servers kann in verschiedenen Formaten erfolgen. Sie könnten eine HTML-Seite erhalten, die Ihr Browser anzeigt, oder Sie senden und empfangen Informationen in JSON- oder XML-Formaten (die wir später behandeln werden).
Beispiel
Hier ist ein Beispiel aus dem echten Leben: Stellen Sie sich vor, Sie bestellen Essen in einem Restaurant. Sie (der Client) geben eine Bestellung beim Kellner auf (senden eine Anfrage), und der Kellner leitet Ihre Bestellung an die Küche weiter (den Server). Dann bereitet die Küche Ihr Essen zu und der Kellner bringt es Ihnen zurück (gibt eine Antwort zurück).
In diesem Beispiel sind Sie der Webbrowser, der Kellner ist das HTTP-Protokoll, und die Küche ist der Server, der Anfragen verarbeitet und Antworten sendet.
HTTP-Methoden
HTTP-Methoden definieren, welche Aktionen auf Ressourcen auf dem Server ausgeführt werden sollen. Die Hauptmethoden umfassen:
GET
Wird verwendet, um Daten vom Server abzurufen. Zum Beispiel, wenn Sie eine Webseite öffnen, sendet Ihr Browser eine GET-Anfrage, um deren Inhalt zu laden.
Stellen Sie sich vor, Sie gehen in eine Bibliothek und bitten den Bibliothekar (den Server), ein Buch (die Ressource) zu finden. Der Bibliothekar geht zum Regal, holt das Buch und gibt es Ihnen zurück.
Wenn Sie eine Webseite öffnen, sendet Ihr Browser eine GET
-Anfrage, um den Server zu "bitten", die Seite bereitzustellen, genau wie Sie in der Bibliothek nach einem Buch fragen würden.
POST
Sendet Daten an den Server, um eine neue Ressource zu erstellen. Diese Methode wird häufig verwendet, um Formulardaten zu übermitteln, wie z.B. Registrierungsdetails oder Kommentare.
Zum Beispiel, wenn Sie einen Antrag auf einen Reisepass einreichen, erstellt die zuständige Abteilung einen neuen Datensatz basierend auf Ihren Informationen.
Ähnlich, wenn Sie Daten über ein Formular auf einer Website einreichen (wie z.B. Registrierungsdetails), sendet eine POST
-Anfrage diese Daten an den Server, um eine neue Ressource zu erstellen.
PUT
Wird verwendet, um bestehende Ressourcen auf dem Server zu aktualisieren. Diese Methode ermöglicht es Ihnen, Daten auf dem Server basierend auf den bereitgestellten Informationen zu ändern.
Es ist ähnlich wie das Aktualisieren eines bestehenden Dokuments. Im Web-Kontext wird eine PUT
-Anfrage verwendet, um eine bestehende Ressource auf dem Server zu ersetzen oder zu aktualisieren. Zum Beispiel können Sie Informationen über Ihr Benutzerprofil aktualisieren.
DELETE
Wird verwendet, um Ressourcen vom Server zu entfernen. Zum Beispiel kann diese Methode verwendet werden, um ein Benutzerkonto oder einen Forenbeitrag zu löschen.
Stellen Sie sich vor, ein Unternehmen beschließt, einen veralteten Vertrag aus seinem Archiv zu entfernen. Ein Mitarbeiter findet das Dokument und löscht es aus der Datenbank.
PATCH
Wird für partielle Aktualisierungen einer Ressource auf dem Server verwendet. Im Gegensatz zu einer PUT
-Anfrage, die die gesamte Ressource ersetzt, wird PATCH
verwendet, wenn Sie nur einen Teil der Ressource ändern müssen.
Zum Beispiel, wenn Sie die E-Mail-Adresse eines Benutzers in seinem Profil aktualisieren möchten, können Sie eine PATCH
-Anfrage verwenden, um nur das E-Mail-Feld zu ändern.
HEAD
Wird verwendet, um nur die Header einer Ressource anzufordern, ohne deren Inhalt abzurufen.
In einem Web-Kontext wird eine HEAD
-Anfrage verwendet, um Metadaten über eine Ressource zu erhalten. Zum Beispiel kann sie verwendet werden, um zu überprüfen, ob eine Seite seit dem letzten Besuch geändert wurde oder um die Existenz einer Datei auf dem Server zu überprüfen, bevor sie heruntergeladen wird.
Wie funktioniert das in der Praxis?
Anfrage
Wenn Sie eine URL (codefinity.com
) in die Suchleiste eingeben, erwarten Sie, als Antwort eine Seite mit Informationen zu erhalten.
Damit eine Seite angezeigt wird, sendet Ihr Browser (der Client) eine Anfrage an den Server im folgenden Format:
Dieses Bild veranschaulicht ein Beispiel für eine HTTP-Anfrage, die ein Client (wie ein Browser) an einen Server sendet. Die Anfrage verwendet die GET
-Methode, die dem Server mitteilt, dass der Client Daten abrufen möchte (in diesem Fall die Startseite /
). Die Protokollversion ist als HTTP/1.1
angegeben.
Die Header liefern zusätzliche Informationen: Host
gibt an, dass die Anfrage an den Server bei codefinity.com
gerichtet ist, User-Agent
liefert Details über den Typ des Clients (Browser), der die Anfrage stellt, und Accept-Language
gibt die bevorzugte Sprache für die Antwort an — Englisch. Da es sich um eine GET
-Anfrage handelt, gibt es keinen Body, da es nicht notwendig ist, Daten an den Server zu senden.
Antwort
Nach Erhalt der Anfrage sendet der Server eine HTTP-Antwort, die ebenfalls aus mehreren Teilen besteht:
Dieses Bild zeigt ein Beispiel für eine HTTP-Antwort, die ein Server an einen Client zurücksendet. Die erste Zeile gibt die Protokollversion HTTP/1.1
an, was bestätigt, dass es sich um die gleiche Version handelt, die in der Anfrage verwendet wurde. Darauf folgt der Statuscode 200 OK
, der anzeigt, dass die Anfrage erfolgreich war und der Server die angeforderten Daten zurückgibt.
Die Header liefern zusätzliche Details über den gesendeten Inhalt. Zum Beispiel gibt Content-Type: text/html; charset=UTF-8
an, dass der Inhalt ein HTML-Dokument ist, das in UTF-8 kodiert ist. Content-Length: 3056
gibt die Größe des Inhalts in Bytes an, während Server: Apache/2.4.41 (Ubuntu)
Informationen über den Webserver liefert, der die Anfrage verarbeitet hat.
Der Antwortkörper enthält den tatsächlichen HTML-Code für die Seite, die an den Client geliefert wird, in diesem Fall ein einfaches HTML-Dokument mit einem Header und einer Willkommensnachricht.
1. Was ist HTTP?
2. Welche HTTP-Methode wird verwendet, um Daten an den Server zu senden, um eine neue Ressource zu erstellen?
Danke für Ihr Feedback!