Sobes.tech
Middle

Razgovarajte o HTTP metodama i njihovoj idempotentnosti.

sobes.tech АИ

Одговор од АИ

HTTP metode određuju akciju koju klijent želi da izvrši nad resursom. Glavne metode:

  • GET: Dobavljanje resursa. Idempotentno je (ponavljajući zahtevi ne menjaju stanje na serveru).
  • POST: Slanje podataka na obradu (npr. kreiranje novog resursa, slanje podataka iz obrasca). Obično nije idempotentno.
  • PUT: Kreiranje ili ažuriranje resursa na datom URI-ju. Idempotentno je (ponovljeni zahtev sa istim podacima dovešće do istog stanja resursa).
  • DELETE: Brisanje resursa na datom URI-ju. Idempotentno je (nakon prvog uspešnog zahteva, ponovljeni zahtevi neće menjati stanje resursa, jer je već obrisan).
  • PATCH: Delimično menjanje resursa. Obično nije idempotentno, jer redosled operacija može biti važan.
  • HEAD: Dobavljanje zaglavlja odgovora GET bez tela odgovora. Idempotentno je.
  • OPTIONS: Dobavljanje spiska podržanih metoda za resurs. Idempotentno je.

Idempotentnost znači da će višestruko izvršavanje istog zahteva dovesti do istog krajnjeg stanja sistema kao i jedno izvršenje. Ovo se odnosi samo na sporedne efekte na serveru. Odgovori servera mogu se razlikovati (npr. prvi DELETE zahtev može vratiti 200 OK, a sledeći — 404 Not Found).

Primeri neidempotentnih operacija:

  • Višestruko dodavanje proizvoda u korpu pomoću POST.
  • Povećanje brojača pomoću POST ili PATCH.

Primeri idempotentnih operacija:

  • Višestruko dobijanje podataka pomoću GET.
  • Kreiranje ili ažuriranje korisnika sa određenim ID pomoću PUT.
  • Brisanje korisnika sa određenim ID pomoću DELETE.

Idempotentnost je važna kada je potrebno ponovo poslati zahteve (npr. u slučaju mrežnih grešaka). Server može sigurno izvršiti idempotentni zahtev više puta, bez izazivanja neželjenih promena.