HTTP-pyyntömetodit selitettyinä

HTTP määrittelee yhdeksän vakiopyyntömetodia, mutta suurin osa päivittäisestä liikenteestä käyttää vain muutamaa. Tämä taulukko selittää jokaisen metodin, onko se turvallinen ja idempotentti, sekä onnistuneen kutsun palauttamat koodit.

Päivitetty:

MetodiTarkoitusTurvallinen?Idempotentti?Onnistumisstatus
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

Huomautukset

Usein kysytyt kysymykset

Mitä eroa on GET- ja POST-metodilla?
GET hakee resurssin ilman sivuvaikutuksia ja sen voi toistaa turvallisesti; parametrit kulkevat URL-osoitteessa. POST luo jotain tai käynnistää toiminnon, voi muuttaa tilaa, eikä sitä pidä toistaa sokeasti.
Mitä tarkoittaa, että HTTP-metodi on turvallinen?
Turvallinen metodi ei koskaan muuta palvelimen tilaa, joten sitä voi kutsua ilman riskiä. GET, HEAD, OPTIONS ja TRACE ovat turvallisia; POST, PUT, PATCH ja DELETE eivät.
Mitä eroa on PUT- ja PATCH-metodilla?
PUT korvaa koko resurssin sillä, mitä lähetät; PATCH muuttaa vain valittuja kenttiä osittain. PUT on idempotentti, joten toisto antaa saman tuloksen; PATCH ei yleensä ole.
Mihin HEAD-metodia käytetään?
HEAD toimii kuin GET, mutta ei palauta vastauksen sisältöä. Sillä voi tarkistaa resurssin olemassaolon, koon tai otsikot lataamatta koko sisältöä.