Middle
Povězte o metodách HTTP a jejich idempotentnosti.
sobes.tech AI
Odpověď od AI
Metody HTTP určují akci, kterou chce klient provést na zdroji. Hlavní metody:
GET: Získat zdroj. Je idempotentní (opakované požadavky nem mění stav na serveru).POST: Odeslat data ke zpracování (například vytvořit nový zdroj, odeslat data formuláře). Obvykle není idempotentní.PUT: Vytvořit nebo aktualizovat zdroj na dané URI. Je idempotentní (opakované požadavky se stejnými daty povedou ke stejnému stavu zdroje).DELETE: Smazat zdroj na dané URI. Je idempotentní (po prvním úspěšném požadavku, opakované požadavky nezmění stav zdroje, protože již byl smazán).PATCH: Částečně změnit zdroj. Obvykle není idempotentní, protože pořadí operací může být důležité.HEAD: Získat hlavičky odpovědiGETbez těla odpovědi. Je idempotentní.OPTIONS: Získat seznam podporovaných metod pro zdroj. Je idempotentní.
Idempotence znamená, že opakované provedení stejného požadavku povede ke stejnému konečnému stavu systému jako provedení jednou. Týká se to pouze vedlejších efektů na serveru. Odpovědi serveru se mohou lišit (například první požadavek DELETE může vrátit 200 OK, následující — 404 Not Found).
Příklady neidempotentních operací:
- Opakované přidávání zboží do košíku pomocí
POST. - Zvyšování čítače pomocí
POSTneboPATCH.
Příklady idempotentních operací:
- Opakované získávání dat pomocí
GET. - Vytvoření nebo aktualizace uživatele s konkrétním ID pomocí
PUT. - Smazání uživatele s konkrétním ID pomocí
DELETE.
Idempotence je důležitá při nutnosti opětovného odeslání požadavků (například při selhání sítě). Server může bezpečně opakovaně provádět idempotentní požadavek, aniž by způsobil nežádoucí změny.