Skip to main content

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