Basis van webtechnologie
Welke HTTP-methode is niet „veilig” (niet bedoeld om de toestand van resources op de server te veranderen), maar wel „idempotent” (hetzelfde verzoek willekeurig vaak verzenden geeft dezelfde toestand als het één keer verzenden)?
- AGET
- BPOST
- CPUT
Antwoord en toelichting tonen
Antwoord: C. PUT
GET en HEAD zijn veilige methoden die alleen resources lezen, en veilige methoden zijn tegelijk idempotent. PUT vervangt de toestand van de opgegeven resource door de verzonden inhoud, dus willekeurig vaak verzenden geeft hetzelfde resultaat als één keer: de methode is idempotent, maar niet veilig. Ook DELETE is idempotent. POST kan bij elke verzending een nieuwe bestelling of een nieuw bericht aanmaken en is daarom in het algemeen niet idempotent, en ook PATCH is niet noodzakelijk idempotent. Een idempotent verzoek heeft het voordeel dat het, als door een communicatiefout het resultaat onbekend is, zonder veel risico gewoon opnieuw kan worden verzonden.