HTTP-Request-Methoden einfach erklärt
HTTP definiert neun Standard-Request-Methoden, aber der alltägliche Verkehr nutzt nur wenige davon. Diese Tabelle erklärt jede Methode, ob sie sicher und idempotent ist und welche Statuscodes ein erfolgreicher Aufruf liefert.
| Methode | Zweck | Sicher? | Idempotent? | Erfolgsstatus |
|---|---|---|---|---|
| GET | Retrieve a resource | Yes | Yes | 200 OK |
| HEAD | Retrieve headers only, no body | Yes | Yes | 200 OK |
| POST | Create a resource or trigger an action | No | No | 201 Created |
| PUT | Replace a resource entirely | No | Yes | 200 OK / 204 No Content |
| PATCH | Apply a partial update | No | No | 200 OK |
| DELETE | Remove a resource | No | Yes | 200 OK / 204 No Content |
| OPTIONS | CORS preflight; list allowed methods | Yes | Yes | 204 / 200 OK |
| TRACE | Echo the request back for diagnostics | Yes | Yes | 200 OK |
| CONNECT | Open a tunnel, e.g. HTTPS via a proxy | No | No | 200 OK |
Hinweise
- Sicher heißt: Die Methode ändert den Serverzustand nie. GET, HEAD, OPTIONS und TRACE sind die einzigen sicheren Methoden.
- Idempotent heißt: Wiederholte Aufrufe liefern dasselbe Ergebnis wie ein einzelner. PUT, DELETE und GET erfüllen das; POST und PATCH nicht.
- Akzeptiert eine Route eine Methode nicht, antwortet der Server mit 405 Method Not Allowed und meist einem Allow-Header.
Häufige Fragen
- Was ist der Unterschied zwischen GET und POST?
- GET ruft eine Ressource ohne Seiteneffekte ab und kann gefahrlos wiederholt werden; Parameter stehen in der URL. POST erstellt etwas oder löst eine Aktion aus, kann den Zustand ändern und sollte nicht blind wiederholt werden.
- Was bedeutet es, wenn eine HTTP-Methode sicher ist?
- Eine sichere Methode ändert den Serverzustand nie und kann daher bedenkenlos aufgerufen werden. GET, HEAD, OPTIONS und TRACE sind sicher; POST, PUT, PATCH und DELETE nicht.
- Was ist der Unterschied zwischen PUT und PATCH?
- PUT ersetzt die gesamte Ressource durch das, was du sendest. PATCH ändert nur ausgewählte Felder teilweise. PUT ist idempotent — Wiederholung liefert dasselbe Ergebnis; PATCH in der Regel nicht.
- Was macht die HEAD-Methode?
- HEAD verhält sich wie GET, liefert aber keinen Antwortinhalt. Damit prüfst du, ob eine Ressource existiert, wie groß sie ist oder welche Header sie hat, ohne alles herunterzuladen.