Metody HTTP požadavků vysvětleny

HTTP definuje devět standardních metod požadavků, ale většina běžného provozu využívá jen některé. Tato tabulka vysvětluje každou metodu, zda je bezpečná a idempotentní, a jaké kódy vrací úspěšné volání.

Aktualizováno:

MetodaÚčelBezpečná?Idempotentní?Úspěšný stav
GETRetrieve a resourceYesYes200 OK
HEADRetrieve headers only, no bodyYesYes200 OK
POSTCreate a resource or trigger an actionNoNo201 Created
PUTReplace a resource entirelyNoYes200 OK / 204 No Content
PATCHApply a partial updateNoNo200 OK
DELETERemove a resourceNoYes200 OK / 204 No Content
OPTIONSCORS preflight; list allowed methodsYesYes204 / 200 OK
TRACEEcho the request back for diagnosticsYesYes200 OK
CONNECTOpen a tunnel, e.g. HTTPS via a proxyNoNo200 OK

Poznámky

Časté dotazy

Jaký je rozdíl mezi GET a POST?
GET získává prostředek bez vedlejších účinků a lze jej bezpečně opakovat; parametry putují v URL. POST něco vytváří nebo spouští akci, může měnit stav a neměl by se bezhlavě opakovat.
Co znamená, že je metoda HTTP bezpečná?
Bezpečná metoda nikdy nemění stav serveru, takže ji lze volat bez rizika. Bezpečné jsou GET, HEAD, OPTIONS a TRACE; POST, PUT, PATCH a DELETE ne.
Jaký je rozdíl mezi PUT a PATCH?
PUT nahrazuje celý prostředek tím, co odešlete; PATCH provádí částečnou změnu jen vybraných polí. PUT je idempotentní, opakování dává stejný výsledek; PATCH obvykle ne.
K čemu slouží metoda HEAD?
HEAD se chová jako GET, ale nevrací tělo odpovědi. Hodí se ke kontrole existence prostředku, jeho velikosti nebo hlaviček, aniž byste stahovali celý obsah.