The HTTP Reference

HTTP Methods Reference

When to use each method, idempotency, safety, and cacheability at a glance.

MethodDescriptionBodyIdempotentSafeCacheable
GETRetrieve a resource. Should not modify server state.
Fetching data: user profiles, product lists, search results.
NoYesYesYes
POSTSubmit data to create a new resource or trigger a process.
Creating records, submitting forms, uploading files.
YesNoNoRarely
PUTReplace a resource entirely with the request body.
Full update of a resource. Client sends the complete representation.
YesYesNoNo
PATCHApply partial modifications to a resource.
Partial update: change just the email field on a user record.
YesNo*NoNo
DELETERemove a resource.
Deleting records. Should return 204 on success, 404 if already gone.
OptionalYesNoNo
HEADSame as GET but without the response body.
Checking if a resource exists, reading Content-Length before downloading.
NoYesYesYes
OPTIONSDescribe the communication options for a resource.
CORS preflight requests. Returns allowed methods and headers.
NoYesYesNo

*PATCH can be idempotent depending on implementation, but the spec does not guarantee it.