Articles

Idempotent

EN HTTP-metode er idempotent hvis en identisk forespørsel kan gjøres en eller flere ganger på rad med samme effekt mens du forlater serveren i samme tilstand. Med andre ord, en idempotent metode bør ikke ha noen bivirkninger (unntatt å holde statistikk). Implementert riktig, GETHEADPUT og DELETE metodene er idempotente, men ikke POST metode. Alle sikre metoder er også idempotent.

for å være idempotent, vil bare den faktiske back-end-tilstanden til serveren vurderes, statuskoden returnert av hver forespørsel kan variere: det første anropet til en DELETE vil trolig returnere en 200, mens etterfølgende vil trolig returnere en 404. En annen implikasjon avDELETE å være idempotent er at utviklere ikke bør implementere RESTful Apier med en slett siste oppføringsfunksjonalitet ved hjelp avDELETE – metoden.

Merk at idempotence av en metode ikke er garantert av serveren, og noen programmer kan feilaktig bryte idempotence begrensningen.

GET /pageX HTTP/1.1 er idempotent. Kalt flere ganger på rad, får klienten de samme resultatene:

GET /pageX HTTP/1.1GET /pageX HTTP/1.1GET /pageX HTTP/1.1GET /pageX HTTP/1.1

POST /add_row HTTP/1.1 er ikke idempotent; hvis det kalles flere ganger, legger det til flere rader:

POST /add_row HTTP/1.1POST /add_row HTTP/1.1 -> Adds a 2nd rowPOST /add_row HTTP/1.1 -> Adds a 3rd row

DELETE /idX/delete HTTP/1.1 er idempotent, selv om den returnerte statuskoden kan endres mellom forespørsler:

DELETE /idX/delete HTTP/1.1 -> Returns 200 if idX existsDELETE /idX/delete HTTP/1.1 -> Returns 404 as it just got deletedDELETE /idX/delete HTTP/1.1 -> Returns 404

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *