Middle
Pasakykite apie HTTP metodus ir jų idempotentiškumą.
sobes.tech AI
Atsakymas iš AI
HTTP metodai apibrėžia veiksmą, kurį klientas nori atlikti ištekliui. Pagrindiniai metodai:
GET: Gauti išteklių. Inndempotentiškas (pakartotiniai užklausos nekeičią serverio būsenos).POST: Siųsti duomenis apdorojimui (pavyzdžiui, sukurti naują išteklių, siųsti formos duomenis). Paprastai nėra inndempotentiškas.PUT: Sukurti arba atnaujinti išteklių nurodytu URI. Inndempotentiškas (pakartotinė užklausa su tais pačiais duomenimis sukels tą pačią išteklių būseną).DELETE: Ištrinti išteklių nurodytu URI. Inndempotentiškas (po sėkmingos pirmos užklausos pakartotinės užklausos nepasikeis išteklių būsenos, nes jis jau ištrintas).PATCH: Iš dalies pakeisti išteklių. Paprastai nėra inndempotentiškas, nes operacijų tvarka gali būti svarbi.HEAD: GautiGETatsakymo antraštes be atsakymo kūno. Inndempotentiškas.OPTIONS: Gauti palaikomų metodų sąrašą ištekliui. Inndempotentiškas.
Inndempotentiškumas reiškia, kad kelių kartų tas pats užklausos vykdymas sukels tą pačią galutinę sistemos būseną kaip ir vienkartinis vykdymas. Tai taikoma tik šalutiniams poveikiams serveryje. Serverio atsakymai gali skirtis (pavyzdžiui, pirmas DELETE užklausas gali grąžinti 200 OK, o vėlesnės — 404 Not Found).
Pavyzdžiai neinndempotentiškų operacijų:
- Daugybinis prekės pridėjimas į krepšelį naudojant
POST. - Skaitiklio didinimas naudojant
POSTarbaPATCH.
Pavyzdžiai inndempotentiškų operacijų:
- Daugybinis duomenų gavimas naudojant
GET. - Naudotojo kūrimas arba atnaujinimas su konkrečiu ID naudojant
PUT. - Naudotojo ištrynimas su konkrečiu ID naudojant
DELETE.
Inndempotentiškumas yra svarbus, kai reikia pakartotinai siųsti užklausas (pavyzdžiui, tinklo gedimų atveju). Serveris gali saugiai pakartotinai vykdyti inndempotentišką užklausą, nesukeliant nepageidaujamų pakeitimų.