Web Requests
Allgemeines
Sogenannte Web Requests sind eigentlich Anfragemethoden des HTTP Protokolls. Sie dienen dazu, mit Webservern zu kommunizieren und die Anfrage zu Klassifizieren.
GET
Mithilfe des GET Requests werden Inhalte vom Server angefordert. Dieser ist so ziemlich der häufigste Vorgang. Die Anfrage wird in der URL mitgeschickt.
Mittels GET können auch Daten an den Server übertragen werden, allerdings ist hier die Menge an zu übertragenden Daten begrenzt (URL Begrenzung) daher sollten hier maximal 255 Zeichen verwendet werden.
POST
Dient zu Übertragung von Daten an den Server (zum Beispiel Formulardaten). Hiermit können unbegrenzt große Daten übertragen und auch validiert werden. Anfrage wird im "request Body" übermittelt.
HEAD
Mittels eines HEAD Requests wird der Server dazu angewiesen, nur den Header der Daten zu übertragen und nicht wie bei GET mit dem Gesamten Body.
PUT
Dient dazu Daten auf einem Server Upzudaten oder Abzulegen. Findet meist bei APIs Anwendung ist aber bei den normalen Webservern zumeist aus Sicherheitsgründen deaktiviert.
DELETE
Hiermit können Daten auf dem Webserver gelöscht werden. Allerdings ist DELETE wie auch PUT meist nicht Implementiert.
TRACE
Testet das Clientverhalten, in dem es so tut als ob der Webserver die Daten nie erhalten hat. Wird meist zum Debuggen verwendet.
Vergleich GET und POST
GET |
POST | |
BACK button/Reload |
kein Problem | Daten werden erneut übermittelt, Browser sollte Meldung ausgeben, dass Daten erneut übermittelt werden |
Bookmarked (Lesezeichen dieser erstellen) |
geht als Bookmark |
geht nicht als Bookmark |
Cached |
kann gecached werden |
kann nicht gecachet werden |
History |
Parameter sind in Browser History |
Parameter werden nicht in der Browser History gespeichert |
Datenlänge |
Länge der URL ist begrenzt |
keine Begrenzung |
Datentyp |
nur ASCII Zeichen sind erlaubt |
keine Begrenzung |
Sicherheit |
weniger sicher wie POST, da Daten in URL übertragen werden Kritisch bei Passwörtern und sensiblen Informationen |
etwas sicherer als GET, da Parameter nicht in der Browser History und den Webserver Logs gespeichert werden (verschlüsselt Übertragung aber nicht) |
Sichtbarkeit |
Daten sind in URL sichtbar |
Daten werden nicht in der URL gezeigt |