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.

Bijgewerkt:

MethodeDoelVeilig?Idempotent?Successtatus
GETRetrieve a resourceYesYes200 OK
HEADRetrieve headers only, no bodyYesYes200 OK
POSTCreate a resource or trigger an actionNoNo201 Created
PUTReplace a resource entirelyNoYes200 OK / 204 No Content
PATCHApply a partial updateNoNo200 OK
DELETERemove a resourceNoYes200 OK / 204 No Content
OPTIONSCORS preflight; list allowed methodsYesYes204 / 200 OK
TRACEEcho the request back for diagnosticsYesYes200 OK
CONNECTOpen a tunnel, e.g. HTTPS via a proxyNoNo200 OK

Opmerkingen

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.