Sobes.tech
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.