HTTP -Anforderungsmethoden


Was ist HTTP?

Das Hypertext Transfer Protocol (HTTP) wurde entwickelt, um die Kommunikation zwischen Clients und Servern zu ermöglichen.

HTTP funktioniert als Request-Response-Protokoll zwischen einem Client und einem Server.

Beispiel: Ein Client (Browser) sendet eine HTTP-Anfrage an den Server; dann gibt der Server eine Antwort an den Client zurück. Die Antwort enthält Statusinformationen über die Anfrage und kann auch den angeforderten Inhalt enthalten.


HTTP-Methoden

  • WERDEN
  • POST
  • SETZEN
  • KOPF
  • LÖSCHEN
  • PATCH
  • OPTIONEN

Die beiden gängigsten HTTP-Methoden sind: GET und POST.


Die GET-Methode

GET wird verwendet, um Daten von einer bestimmten Ressource anzufordern.

GET ist eine der gebräuchlichsten HTTP-Methoden.

Beachten Sie, dass die Abfragezeichenfolge (Name/Wert-Paare) in der URL einer GET-Anforderung gesendet wird:

/test/demo_form.php?name1=value1&name2=value2

Einige andere Hinweise zu GET-Anforderungen:

  • GET-Anfragen können zwischengespeichert werden
  • GET-Anfragen bleiben im Browserverlauf
  • GET-Anforderungen können mit einem Lesezeichen versehen werden
  • GET-Anforderungen sollten niemals verwendet werden, wenn es um vertrauliche Daten geht
  • GET-Anforderungen haben Längenbeschränkungen
  • GET-Anfragen werden nur verwendet, um Daten anzufordern (nicht zu ändern)

Die POST-Methode

POST wird verwendet, um Daten an einen Server zu senden, um eine Ressource zu erstellen/aktualisieren.

Die mit POST an den Server gesendeten Daten werden im Request-Body des HTTP-Requests gespeichert:

POST /test/demo_form.php HTTP/1.1
Host: w3schools.com

name1=value1&name2=value2

POST ist eine der gebräuchlichsten HTTP-Methoden.

Einige andere Hinweise zu POST-Anforderungen:

  • POST-Anforderungen werden niemals zwischengespeichert
  • POST-Anforderungen verbleiben nicht im Browserverlauf
  • POST-Anforderungen können nicht mit einem Lesezeichen versehen werden
  • POST-Anforderungen haben keine Beschränkungen hinsichtlich der Datenlänge


Die PUT-Methode

PUT wird verwendet, um Daten an einen Server zu senden, um eine Ressource zu erstellen/aktualisieren.

Der Unterschied zwischen POST und PUT besteht darin, dass PUT-Anforderungen idempotent sind. Das heißt, das mehrmalige Aufrufen derselben PUT-Anfrage führt immer zum selben Ergebnis. Im Gegensatz dazu hat das wiederholte Aufrufen einer POST-Anforderung Nebenwirkungen, da dieselbe Ressource mehrmals erstellt wird.


Die HEAD-Methode

HEAD ist fast identisch mit GET, aber ohne den Antworttext.

Mit anderen Worten, wenn GET /users eine Liste von Benutzern zurückgibt, stellt HEAD /users dieselbe Anfrage, gibt jedoch keine Benutzerliste zurück.

HEAD-Anforderungen sind nützlich, um zu überprüfen, was eine GET-Anforderung zurückgibt, bevor eine GET-Anforderung tatsächlich gestellt wird – beispielsweise vor dem Herunterladen einer großen Datei oder eines Antworttexts.


Die DELETE-Methode

Die DELETE-Methode löscht die angegebene Ressource.


Die OPTIONS-Methode

Die OPTIONS-Methode beschreibt die Kommunikationsoptionen für die Zielressource.


Vergleichen Sie GET mit POST

Die folgende Tabelle vergleicht die beiden HTTP-Methoden: GET und POST.

  GET POST
BACK button/Reload Harmless Data will be re-submitted (the browser should alert the user that the data are about to be re-submitted)
Bookmarked Can be bookmarked Cannot be bookmarked
Cached Can be cached Not cached
Encoding type application/x-www-form-urlencoded application/x-www-form-urlencoded or multipart/form-data. Use multipart encoding for binary data
History Parameters remain in browser history Parameters are not saved in browser history
Restrictions on data length Yes, when sending data, the GET method adds the data to the URL; and the length of a URL is limited (maximum URL length is 2048 characters) No restrictions
Restrictions on data type Only ASCII characters allowed No restrictions. Binary data is also allowed
Security GET is less secure compared to POST because data sent is part of the URL

Never use GET when sending passwords or other sensitive information!
POST is a little safer than GET because the parameters are not stored in browser history or in web server logs
Visibility Data is visible to everyone in the URL Data is not displayed in the URL