Middle
Povedzte o metódach HTTP a ich idempotentnosti.
sobes.tech AI
Odpoveď od AI
Metódy HTTP určujú akciu, ktorú chce klient vykonať na zdroji. Hlavné metódy:
GET: Získať zdroj. Je idempotentný (opakované požiadavky nemenia stav na serveri).POST: Odoslať údaje na spracovanie (napríklad, vytvoriť nový zdroj, odoslať údaje formulára). Zvyčajne nie je idempotentný.PUT: Vytvoriť alebo aktualizovať zdroj na zadanom URI. Je idempotentný (opakovaná požiadavka s rovnakými údajmi povedie k rovnakému stave zdroja).DELETE: Vymazať zdroj na zadanom URI. Je idempotentný (po prvom úspešnom požiadavke, opakované požiadavky nezmenia stav zdroja, pretože je už vymazaný).PATCH: Čiastočne zmeniť zdroj. Zvyčajne nie je idempotentný, pretože poradie operácií môže byť dôležité.HEAD: Získať hlavičky odpovedeGETbez tela odpovede. Je idempotentný.OPTIONS: Získať zoznam podporovaných metód pre zdroj. Je idempotentný.
Idempotentnosť znamená, že opakované vykonanie rovnakej požiadavky povedie k rovnakému konečnému stavu systému ako jej vykonanie raz. Toto platí len pre vedľajšie účinky na serveri. Odpovede servera sa môžu líšiť (napríklad, prvá požiadavka DELETE môže vrátiť 200 OK, ďalšie — 404 Not Found).
Príklady neidempotentných operácií:
- Opakované pridávanie tovaru do košíka pomocou
POST. - Zvýšenie čítača pomocou
POSTaleboPATCH.
Príklady idempotentných operácií:
- Opakované získavanie dát pomocou
GET. - Vytvorenie alebo aktualizácia používateľa s konkrétnym ID pomocou
PUT. - Vymazanie používateľa s konkrétnym ID pomocou
DELETE.
Idempotentnosť je dôležitá pri potrebe opätovného odoslania požiadaviek (napríklad pri sieťových chybách). Server môže bezpečne vykonať idempotentnú požiadavku viackrát bez spôsobenia neželaných zmien.