GET ist die HTTP-Methode, mit der ein Client eine Ressource abruft. Jeder Klick auf einen Link und jede eingetippte Adresse löst eine GET-Anfrage aus, und sie soll auf dem Server nichts verändern.
- GET
Die HTTP-Methode zum Lesen einer Ressource, deren Angaben in der Adresse stehen und die keine Daten auf dem Server ändert.
Beispiel: „Die Produktliste holt sich die App per GET von /api/produkte?seite=2.“Abgrenzung zu POST: POST schickt Daten im Body und legt meist etwas an. GET trägt alle Angaben in der Adresse.
Wie eine GET-Anfrage aufgebaut ist
Sie besteht aus der Methode, der Adresse und den Headern, einen Body hat sie in der Regel nicht. Zusätzliche Angaben wie Seite, Sortierung oder Suchbegriff stehen im Query String nach dem Fragezeichen.
GET /api/produkte?seite=2&sortierung=preis HTTP/1.1
Host: www.example.com
Accept: application/jsonWeil alles in der Adresse steht, lässt sich jede GET-Anfrage als Link teilen, als Lesezeichen speichern und zwischenspeichern.
GET im Vergleich mit den anderen Methoden
Die Übersicht zeigt alle neun HTTP-Methoden. Sicher heißt, dass eine Methode nichts verändert; idempotent heißt, dass mehrfaches Senden dasselbe Ergebnis hat wie einfaches.
Methode | Wofür | Sicher | Idempotent |
|---|---|---|---|
GET | Ressource abrufen, ohne etwas zu ändern | ja | ja |
wie GET, aber nur die Kopfzeilen | ja | ja | |
Daten senden, meist etwas Neues anlegen | nein | nein | |
Ressource vollständig ersetzen | nein | ja | |
Ressource teilweise ändern | nein | nein | |
Ressource löschen | nein | ja | |
erlaubte Methoden erfragen | ja | ja | |
Tunnel über einen Proxy aufbauen | nein | nein | |
Anfrage zur Fehlersuche zurückspiegeln | ja | ja |
Worauf du bei GET achten solltest
Ein Link per GET darf nie etwas löschen oder bestellen. Suchmaschinen, Vorschaudienste und Browser rufen Adressen auch von sich aus auf, und ein Löschlink wird dann irgendwann ausgelöst, ohne dass ein Mensch geklickt hat.
Auch vertrauliche Angaben gehören nicht in eine GET-Adresse: Sie landen in Serverprotokollen, im Browserverlauf und gegebenenfalls im Referrer der nächsten Seite.