← Artikelen

HTTP FIELD GUIDE

HTTP-methoden en idempotentie

Begrijp HTTP-methoden en wanneer je een verzoek veilig kunt herhalen.

Wat zegt de methode?

De methode beschrijft de bedoelde actie. GET haalt een representatie op, HEAD alleen de metagegevens. POST biedt gegevens ter verwerking aan, PUT vervangt een bron en DELETE vraagt verwijdering. Een bron kan een methode met status 405 weigeren.

Veilig en idempotent

Een veilige methode is bedoeld om alleen te lezen. Een idempotente methode heeft bij herhaling hetzelfde beoogde effect op de server. GET en HEAD hebben beide eigenschappen. PUT en DELETE zijn per definitie idempotent, hoewel antwoorden kunnen verschillen. POST is dat doorgaans niet.

Waarom is dit belangrijk?

Een time-out bewijst niet dat de server niets heeft verwerkt. Een herhaalde POST kan twee bestellingen maken. Gebruik voor herhaalbare schrijfacties een idempotentiesleutel die de API ondersteunt of controleer eerst de bronstatus. Alleen de methodenaam garandeert geen correcte implementatie.

Bronnen