Bei modernen, in­ter­ak­tiv ge­stal­te­ten Websites rufen die Clients – also die Browser – nicht bloß ein HTML-Dokument vom Server ab, sondern senden diesem oftmals auch In­for­ma­tio­nen wie die folgenden zu:

  • Den Text eines Such­be­griffs, den der User in das Suchfeld ein­ge­ge­ben hat
  • Die Inhalte eines aus­ge­füll­ten Formulars
  • Die Filter-Auswahl in einer Webshop-Ansicht
  • Die Sor­tie­rung einer Liste

Für die Über­mitt­lung solcher In­for­ma­tio­nen an den Server stehen im HTTP-Protokoll ver­schie­de­ne An­fra­ge­me­tho­den zur Verfügung. Die beiden wich­tigs­ten davon sind GET und POST. Obwohl beide zum selben Resultat führen, un­ter­schei­den sie sich trotzdem grund­le­gend von­ein­an­der. Lesen Sie hier, wo die Un­ter­schie­de liegen und wann welche Methode besser geeignet ist.

Tipp

Wenn Sie mehr über An­fra­ge­me­tho­den im All­ge­mei­nen erfahren möchten, lesen Sie unseren Artikel über HTTP-Requests.

KI-Assistent kostenlos – Ihr smarter All­tags­hel­fer
  • DSGVO-konform & sicher gehostet in Deutsch­land
  • Pro­duk­ti­vi­tät steigern – weniger Aufwand, mehr Output
  • Direkt im Browser starten – ohne In­stal­la­ti­on

GET

Bei der GET-Methode werden die Daten, die an den Server gesendet werden sollen, direkt in die URL ge­schrie­ben. In Ihrem Brow­ser­fens­ter sieht dies dann so aus:

www.example.com/register.php?firstname=peter&name=miller&age=55&gender=male

Sämtliche vom Benutzer ein­ge­ge­be­nen In­for­ma­tio­nen – so­ge­nann­te URL-Parameter – werden genauso offen über­mit­telt wie die URL selbst. Dies hat Vor- und Nachteile:

Vorteile

Die URL-Parameter können zusammen mit der Website-Adresse ge­spei­chert werden. So können Sie eine Such­an­fra­ge als Le­se­zei­chen anlegen und später bequem wieder aufrufen. Die Seite lässt sich bei Bedarf auch über den Brow­ser­ver­lauf wieder zu­rück­ho­len.

Praktisch ist dies bei­spiels­wei­se für das re­gel­mä­ßi­ge Aufrufen eines Google-Maps-Kar­ten­aus­schnitts oder für das Speichern von Webseiten mit be­stimm­ten Filter- und Sortier-Ein­stel­lun­gen.

Nachteile

Der wich­tigs­te Nachteil der GET-Methode ist der fehlende Da­ten­schutz. Die mit­ge­sen­de­ten URL-Parameter sind nicht nur für jedermann in der Browser-Adress­zei­le sichtbar, sondern werden auch un­ver­schlüs­selt im Brow­ser­ver­lauf, im Cache und im Logfile des Servers abgelegt.

Ein zweiter Nachteil ist die be­schränk­te Kapazität: Je nach Webserver und Browser können nicht mehr als etwa 2.000 Zeichen in die URL ein­ge­ge­ben werden. URL-Parameter können außerdem nur ASCII-Zeichen (Buch­sta­ben, Zahlen, Son­der­zei­chen usw.) enthalten, nicht aber binäre Daten wie Au­dio­files oder Bilder.

POST

Die POST-Methode schreibt die URL-Parameter in den HTTP-Request für den Server. Sie sind damit für Benutzer nicht sichtbar. Der Umfang der POST-Anfragen ist un­be­schränkt.

Vorteile

Wenn es gilt, sensible Daten an den Server zu über­mit­teln – z. B. das An­mel­de­for­mu­lar mit Be­nut­zer­na­me und Passwort –, bietet die POST-Methode die er­for­der­li­che Dis­kre­ti­on. Die Daten werden weder im Cache ge­spei­chert, noch er­schei­nen sie im Brow­ser­ver­lauf. Auch die Fle­xi­bi­li­tät spricht für POST: Damit können nicht nur kurze Texte, sondern Daten jeglichen Umfangs und Typs über­mit­telt werden, etwa Fotos oder Videos.

Nachteile

Wenn eine Webseite mit einem Formular im Browser ak­tua­li­siert wird (z. B. beim Betätigen der Schalt­flä­che „Zurück“), dann müssen die For­mu­lar­da­ten nochmals über­mit­telt werden – si­cher­lich haben Sie derartige Warn­mel­dun­gen bereits gesehen. Dabei besteht die Gefahr, dass die Daten ver­se­hent­lich mehrmals gesendet werden, was etwa bei einem Be­stell­for­mu­lar un­er­wünsch­te Dop­pel­auf­trä­ge auslösen kann. Moderne Webshop-Programme können dies al­ler­dings ver­hin­dern.

Ebenso können die Daten, die mit der POST-Methode über­mit­telt werden, nicht zusammen mit der URL als Le­se­zei­chen ge­spei­chert werden.

Vergleich GET vs. POST

GET POST
Sicht­bar­keit Für den Anwender in der Adress­zei­le sichtbar Für den Anwender un­sicht­bar
Le­se­zei­chen und Brow­ser­ver­lauf URL-Parameter werden mit der URL zusammen ge­spei­chert. URL wird ohne URL-Parameter ge­spei­chert.
Cache und Server-Logfile Die URL-Parameter werden un­ver­schlüs­selt ge­spei­chert. Die URL-Parameter werden nicht au­to­ma­tisch ge­spei­chert.
Verhalten bei Browser-Ak­tua­li­sie­rung / „Zurück“-Button Die URL-Parameter werden nicht erneut gesendet. Der Browser warnt, dass die For­mu­lar­da­ten erneut gesendet werden müssen.
Datentyp Nur ASCII-Zeichen Neben ASCII-Zeichen auch binäre Daten
Da­ten­län­ge Be­schränkt auf maximale Länge der URL (2.048 Zeichen) Un­be­schränkt

Wann welche Methode verwenden?

POST wird fast durchwegs bevorzugt, wenn der Anwender Daten oder Dateien an den Server über­mit­teln muss, bei­spiels­wei­se bei For­mu­la­ren oder beim Hochladen von Fotos.

GET eignet sich besonders gut für das Per­so­na­li­sie­ren von Websites: Die Such­ein­ga­ben, Filter-Ein­stel­lun­gen und Lis­ten­sor­tie­run­gen des Anwenders können zusammen mit der URL als Le­se­zei­chen ge­spei­chert werden, sodass beim nächsten Aufruf die Website exakt so aussieht, wie man es sich wünscht.

Eine einfache „Faust­re­gel“ zum Schluss:

  • GET für Ein­stel­lun­gen an einer Website (Filter, Sor­tie­run­gen, Such­ein­ga­ben usw.)
  • POST für das Über­mit­teln von In­for­ma­tio­nen und Daten des Anwenders
Zum Hauptmenü