HTTP-requestmethoden uitgelegd
HTTP definieert negen standaard requestmethoden, maar het dagelijkse verkeer gebruikt er maar een paar. Deze tabel legt elke methode uit, of hij veilig en idempotent is en welke statuscodes een succesvolle aanroep teruggeeft.
| Methode | Doel | Veilig? | Idempotent? | Successtatus |
|---|---|---|---|---|
| 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 |
Opmerkingen
- Veilig betekent dat de methode de serverstatus nooit verandert: alleen GET, HEAD, OPTIONS en TRACE zijn veilig.
- Idempotent betekent dat een herhaalde aanroep hetzelfde resultaat geeft als één aanroep: PUT, DELETE en GET voldoen; POST en PATCH niet.
- Als een route een methode niet accepteert, antwoordt de server met 405 Method Not Allowed en meestal een Allow-header.
Veelgestelde vragen
- Wat is het verschil tussen GET en POST?
- GET haalt een resource op zonder bijwerkingen en kan veilig worden herhaald; parameters gaan via de URL. POST maakt iets aan of start een actie, kan de status wijzigen en moet niet blind worden herhaald.
- Wat betekent het dat een HTTP-methode veilig is?
- Een veilige methode wijzigt de serverstatus nooit en kan dus zonder risico worden aangeroepen. GET, HEAD, OPTIONS en TRACE zijn veilig; POST, PUT, PATCH en DELETE niet.
- Wat is het verschil tussen PUT en PATCH?
- PUT vervangt de hele resource door wat je stuurt; PATCH past slechts een gedeeltelijke wijziging toe op geselecteerde velden. PUT is idempotent, herhalen geeft hetzelfde resultaat; PATCH meestal niet.
- Wat doet de HEAD-methode?
- HEAD gedraagt zich als GET maar zonder response body. Het is handig om te controleren of een resource bestaat, hoe groot die is of welke headers hij heeft, zonder alles te downloaden.