Neueste Web-Entwicklung Tutorials
 

HTTP-Methoden: GET vs. POST


Die beiden am häufigsten verwendeten HTTP-Methoden sind: GET und POST.


Was ist HTTP?

Das Hypertext Transfer Protocol (HTTP) ist so konzipiert, die Kommunikation zwischen Clients und Servern zu ermöglichen.

HTTP arbeitet als Anforderungs-Antwort-Protokoll, das zwischen einem Client und einem Server.

Ein Web-Browser kann der Kunde sein, und eine Anwendung auf einem Computer, der eine Website hostet möglicherweise der Server sein.

Beispiel: Ein Client (Browser) legt eine HTTP-Anforderung an den Server; dann gibt der Server eine Antwort an den Client. Die Antwort enthält Statusinformationen über die Anforderung und auch die gewünschten Inhalte enthalten.


Zwei HTTP-Request-Methoden: GET und POST

Zwei häufig verwendete Methoden für eine Anfrage-Antwort zwischen einem Client und Server sind: GET und POST.

  • GET - Anfragen von Daten aus einer angegebenen Ressource
  • POST - Sendet Daten an eine angegebene Ressource verarbeitet werden

Die GET-Methode

Beachten Sie, dass die Abfrage-String (Name / Wert-Paare) in der URL einer GET-Anfrage gesendet:

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

Einige andere Hinweise auf GET - Anfragen:

  • GET-Anfragen können zwischengespeichert werden
  • GET-Anfragen bleiben in der Browser-History
  • GET-Anfragen können Lesezeichen gespeichert werden
  • GET-Anforderungen sollten nicht verwendet werden, wenn sie mit sensiblen Daten zu tun
  • GET-Anforderungen haben Längenbeschränkungen
  • GET-Anfragen sollten nur verwendet werden, um Daten abzurufen

Die POST-Methode

Beachten Sie, dass die Abfrage-String (Name / Wert-Paare) in der HTTP-Nachrichtentext einer POST-Anfrage gesendet:

POST /test/demo_form.asp HTTP/1.1
Host: w3ii.com
name1=value1&name2=value2

Einige andere Hinweise auf POST - Anfragen:

  • POST-Anfragen nicht zwischengespeichert
  • POST-Anfragen bleiben nicht in der Browser-History
  • POST-Anfragen können nicht vorgemerkt werden
  • POST-Anfragen haben keine Beschränkungen für Datenlänge

Vergleichen GET vs. POST

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

BEKOMMEN POST
BACK-Taste / Reload Harmlos Die Daten werden erneut vorgelegt (der Browser sollte den Nutzer darauf hinweisen, dass die Daten über erneut vorgelegt werden)
Markiert Können Lesezeichen Kann nicht mit Lesezeichen versehen werden
Cached Kann zwischengespeichert werden nicht zwischengespeichert
Kodierungsart application / x-www-form-urlencoded application / x-www-form-urlencoded oder multipart / form-data. Verwenden mehrt Codierung für binäre Daten
Geschichte Parameter bleiben in Browser-History Die Parameter werden nicht in Browser-History gespeichert
Beschränkungen für Datenlänge Ja, beim Senden von Daten fügt das GET-Verfahren die Daten zu der URL; und die Länge einer URL ist begrenzt (maximal URL Länge ist 2048 Zeichen) Keine Einschränkungen
Beschränkungen für Datentyp Nur ASCII-Zeichen erlaubt Keine Einschränkungen. Binärdaten ist ebenfalls zulässig
Sicherheit GET ist weniger sicher im Vergleich zu POST, da die Daten gesendet Teil der URL ist

Nie GET verwenden, wenn Kennwörter oder andere vertrauliche Informationen zu senden!
POST ist ein wenig sicherer als GET, weil die Parameter in Browser-History nicht gespeichert werden oder in Web-Server-Logs
Sichtweite Die Daten sind für jeden sichtbar in der URL Daten werden nicht in der URL angezeigt

Andere HTTP-Request-Verfahren

Die folgende Tabelle enthält einige andere Methoden HTTP-Anforderung:

Methode Beschreibung
HEAD Das gleiche wie GET liefert aber nur HTTP-Header und kein Dokument Körper
PUT Lädt eine Darstellung der angegebenen URI
DELETE Löscht die angegebene Ressource
OPTIONS Gibt die HTTP-Methoden, die der Server unterstützt
CONNECT Wandelt die Anforderung Verbindung zu einem transparenten TCP / IP-Tunnel