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) wurde entwickelt, um die Kommunikation zwischen Clients und Servern zu ermöglichen.
HTTP funktioniert als Anfrage-Antwort-Protokoll zwischen einem Client und einem Server.
Ein Webbrowser kann der Client sein, und eine Webanwendung auf einem Computer kann auch als Server fungieren.
Beispiel: Der Client (Browser) sendet eine HTTP-Anfrage an den Server; der Server gibt eine Antwort an den Client zurück. Die Antwort enthält Statusinformationen über die Anfrage und kann auch den angeforderten Inhalt enthalten.
Zwei HTTP-Anfragemethoden: GET und POST
Beim Request-Response zwischen einem Client und einem Server sind die zwei am häufigsten verwendeten Methoden: GET und POST.
- GET- Daten von einer angegebenen Ressource anfordern.
- POST- Daten zur Verarbeitung an eine angegebene Ressource übermitteln.
GET-Parameter werden in der Regel in der URL angezeigt, während POST, das über ein Formular übermittelt wird, sie nicht in der URL anzeigt, wodurch POST verdeckter ist:

GET-Methode
Beachten Sie, dass der Query-String (Name/Wert-Paare) in der URL einer GET-Anfrage gesendet wird:
Einige weitere Hinweise zu GET-Anfragen:
- GET-Anfragen können zwischengespeichert werden
- GET-Anfragen bleiben im Browserverlauf
- GET-Anfragen können als Lesezeichen gespeichert werden
- GET-Anfragen sollten nicht verwendet werden, wenn sensible Daten verarbeitet werden
- GET-Anfragen haben Längenbeschränkungen
- GET-Anfragen sollten nur zum Abrufen von Daten verwendet werden
POST-Methode
Beachten Sie, dass der Query-String (Name/Wert-Paare) im HTTP-Nachrichtenkörper einer POST-Anfrage gesendet wird:
Host: example.com
name1=value1&name2=value2
Weitere Hinweise zu POST-Anfragen:
- POST-Anfragen werden nie zwischengespeichert
- POST-Anfragen bleiben nicht im Browserverlauf
- POST kann nicht als Lesezeichen gespeichert werden
- POST-Anfragen unterliegen keinen Beschränkungen der Datenlänge
GET vs. POST vergleichen
Die folgende Tabelle vergleicht die beiden HTTP-Methoden: GET und POST.
| GET | POST | |
|---|---|---|
| Zurück-Schaltfläche/Aktualisieren | Harmlos | Daten werden erneut übermittelt (der Browser sollte den Benutzer darüber informieren, dass die Daten erneut übermittelt werden). |
| Bookmark | Kann als Lesezeichen gespeichert werden | Kann nicht als Lesezeichen gespeichert werden |
| Cache | Kann zwischengespeichert werden | Kann nicht zwischengespeichert werden |
| Kodierungstyp | application/x-www-form-urlencoded | application/x-www-form-urlencoded oder multipart/form-data. Verwenden Sie Multipart-Kodierung für Binärdaten. |
| Verlauf | Parameter bleiben im Browserverlauf. | Parameter werden nicht im Browserverlauf gespeichert. |
| Einschränkungen der Datenlänge | Ja, es gibt eine Begrenzung. Beim Senden von Daten hängt die GET-Methode die Daten an die URL an; die URL-Länge ist begrenzt (die maximale URL-Länge beträgt 2048 Zeichen). | Keine Begrenzung. |
| Einschränkungen der Datentypen | Es sind nur ASCII-Zeichen erlaubt. | Keine Einschränkungen. Binärdaten sind ebenfalls erlaubt. |
| Sicherheit | Im Vergleich zu POST ist GET weniger sicher, weil die gesendeten Daten Teil der URL sind. Verwenden Sie niemals GET, wenn Sie Passwörter oder andere vertrauliche Informationen senden! |
POST ist sicherer als GET, weil Parameter nicht im Browserverlauf oder in Webserver-Logs gespeichert werden. |
| Sichtbarkeit | Daten sind für jeden in der URL sichtbar. | Daten werden nicht in der URL angezeigt. |
Andere HTTP-Anfragemethoden
Die folgende Tabelle listet einige andere HTTP-Anfragemethoden auf:
| Methode | Beschreibung |
|---|---|
| HEAD | Wie GET, gibt aber nur HTTP-Header zurück, nicht den Dokumentbody. |
| PUT | Lädt eine Repräsentation der angegebenen URI hoch. |
| DELETE | Löscht die angegebene Ressource. |
| OPTIONS | Gibt die vom Server unterstützten HTTP-Methoden zurück. |
| CONNECT | Wandelt die Anfrageverbindung in einen transparenten TCP/IP-Tunnel um. |