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 |