Junior
Jaké jsou rozdíly mezi metodami HEAD, GET, POST a PUT v HTTP?
sobes.tech AI
Odpověď od AI
- HEAD: Požaduje hlavičky, které by byly získány pomocí metody GET, ale bez těla odpovědi. Užitečné pro kontrolu existence zdroje nebo získání metadat. Idempotentní a bezpečné.
- GET: Požaduje zobrazení specifikovaného zdroje. Používá se k získání dat. Idempotentní a bezpečné.
- POST: Odesílá data ke zpracování na specifikovaný zdroj. Data jsou zahrnuta v těle požadavku. Používá se k vytvoření nového zdroje nebo odeslání dat formuláře. Není bezpečné a není idempotentní (opakované požadavky mohou vytvářet duplikáty).
- PUT: Odesílá data k aktualizaci nebo vytvoření zdroje na specifikované URI. Pokud zdroj neexistuje, server jej může vytvořit. Data jsou zahrnuta v těle požadavku. Idempotentní (opakované požadavky nemění stav serveru po prvním úspěšném požadavku). Není bezpečné.
Klíčové rozdíly:
| Metoda | Účel | Tělo požadavku | Tělo odpovědi (obvykle) | Idempotentní | Bezpečné |
|---|---|---|---|---|---|
| HEAD | Získat hlavičky | Ne | Ne | Ano | Ano |
| GET | Vyextrahovat zdroj | Ne (obvykle) | Ano | Ano | Ano |
| POST | Odeslat data | Ano | Ano | Ne | Ne |
| PUT | Aktualizovat/vytvořit zdroj | Ano | Ano | Ano | Ne |
Bezpečné znamená, že požadavek nemění stav serveru. Idempotentní znamená, že opakované provedení stejného požadavku vede ke stejnému výsledku na serveru.