HTTP Request Methods

Complete reference for HTTP request methods and their usage

Quick Answer

What are HTTP request methods?

HTTP request methods define the action to perform on a resource. Common methods include GET (retrieve data), POST (send data), PUT (update resource), DELETE (remove resource), PATCH (partial update), HEAD (retrieve headers only), and OPTIONS (check allowed methods). GET and POST are the most frequently used.

Common HTTP Methods

GET
The GET method requests a representation of the specified resource. Requests using GET should only retrieve data and should have no other effect.
Request has body: No
Response has body: Yes
Safe: Yes
Idempotent: Yes
Cacheable: Yes
POST
The POST method submits an entity to the specified resource, often causing a change in state or side effects on the server.
Request has body: Yes
Response has body: Yes
Safe: No
Idempotent: No
Cacheable: Only if freshness information is included
PUT
The PUT method replaces all current representations of the target resource with the request payload.
Request has body: Yes
Response has body: May have
Safe: No
Idempotent: Yes
Cacheable: No
DELETE
The DELETE method deletes the specified resource.
Request has body: May have
Response has body: May have
Safe: No
Idempotent: Yes
Cacheable: No
PATCH
The PATCH method applies partial modifications to a resource.
Request has body: Yes
Response has body: May have
Safe: No
Idempotent: No
Cacheable: Only if freshness information is included

Other HTTP Methods

HEAD
The HEAD method asks for a response identical to a GET request, but without the response body.
Request has body: No
Response has body: No
Safe: Yes
Idempotent: Yes
Cacheable: Yes
OPTIONS
The OPTIONS method describes the communication options for the target resource.
Request has body: No
Response has body: Yes
Safe: Yes
Idempotent: Yes
Cacheable: No
TRACE
The TRACE method performs a message loop-back test along the path to the target resource.
Request has body: No
Response has body: No
Safe: Yes
Idempotent: Yes
Cacheable: No
CONNECT
The CONNECT method establishes a tunnel to the server identified by the target resource.
Request has body: No
Response has body: Yes
Safe: No
Idempotent: No
Cacheable: No