Sobes.tech
Junior

Aké sú rozdiely medzi metódami HEAD, GET, POST a PUT v HTTP?

sobes.tech AI

Odpoveď od AI

  • HEAD: Vyžaduje hlavičky, ktoré by boli získané pomocou metódy GET, ale bez tela odpovede. Užitočné na overenie existencie zdroja alebo získanie metadát. Idempotentné a bezpečné.
  • GET: Vyžaduje zobrazenie špecifikovaného zdroja. Používa sa na získanie údajov. Idempotentné a bezpečné.
  • POST: Odosiela údaje na spracovanie na špecifikovaný zdroj. Údaje sú zahrnuté v tele požiadavky. Používa sa na vytvorenie nového zdroja alebo odoslanie údajov formulára. Nie je bezpečné a nie je idempotentné (opakované požiadavky môžu vytvoriť duplikáty).
  • PUT: Odosiela údaje na aktualizáciu alebo vytvorenie zdroja na špecifikovanom URI. Ak zdroj neexistuje, server ho môže vytvoriť. Údaje sú zahrnuté v tele požiadavky. Idempotentné (opakované požiadavky nemenia stav servera po prvom úspešnom požiadavke). Nie je bezpečné.

Kľúčové rozdiely:

Metóda Účel Telo požiadavky Telo odpovede (zvyčajne) Idempotentné Bezpečné
HEAD Získať hlavičky Nie Nie Áno Áno
GET Extrahovať zdroj Nie (zvyčajne) Áno Áno Áno
POST Odoslať údaje Áno Áno Nie Nie
PUT Aktualizovať/vytvoriť zdroj Áno Áno Áno Nie

Bezpečné znamená, že požiadavka nemení stav servera. Idempotentné znamená, že opakované vykonanie rovnakej požiadavky vedie k rovnakému výsledku na serveri.