HTTP-begärandemetoder förklarade

HTTP definierar nio standardbegärandemetoder, men det mesta av den dagliga trafiken använder bara några få. Tabellen förklarar varje metod, om den är säker och idempotent, och vilka koder ett lyckat anrop returnerar.

Uppdaterad:

MetodSyfteSäker?Idempotent?Status vid framgång
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

Anteckningar

Vanliga frågor

Vad är skillnaden mellan GET och POST?
GET hämtar en resurs utan biverkningar och kan upprepas säkert; parametrarna skickas i URL:en. POST skapar något eller utlöser en åtgärd, kan ändra tillstånd och bör inte upprepas blint.
Vad innebär det att en HTTP-metod är säker?
En säker metod ändrar aldrig serverns tillstånd och kan därför anropas utan risk. GET, HEAD, OPTIONS och TRACE är säkra; POST, PUT, PATCH och DELETE är det inte.
Vad är skillnaden mellan PUT och PATCH?
PUT ersätter hela resursen med det du skickar; PATCH gör en partiell ändring av utvalda fält. PUT är idempotent, upprepning ger samma resultat; PATCH är det oftast inte.
Vad gör HEAD-metoden?
HEAD fungerar som GET men returnerar ingen svarskropp. Den är användbar för att kontrollera om en resurs finns, dess storlek eller rubriker, utan att ladda ner hela innehållet.