HTTP request methods - HTTP | MDN

archived 26 Dec 2025 05:04:55 UTC

HTTP request methods

HTTP defines a set of request methods to indicate the purpose of the request and what is expected if the request is successful. Although they can also be nouns, these request methods are sometimes referred to as HTTP verbs. Each request method has its own semantics, but some characteristics are shared across multiple methods, specifically request methods can be safe, idempotent, or cacheable.
GET
The GET method requests a representation of the specified resource. Requests using GET should only retrieve data and should not contain a request content.
The HEAD method asks for a response identical to a GET request, but without a response body.
POST
The POST method submits an entity to the specified resource, often causing a change in state or side effects on the server.
PUT
The PUT method replaces all current representations of the target resource with the request content.
DELETE
The DELETE method deletes the specified resource.
CONNECT
The CONNECT method establishes a tunnel to the server identified by the target resource.
OPTIONS
The OPTIONS method describes the communication options for the target resource.
TRACE
The TRACE method performs a message loop-back test along the path to the target resource.
PATCH
The PATCH method applies partial modifications to a resource.

Safe, idempotent, and cacheable request methods

The following table lists HTTP request methods and their categorization in terms of safety, cacheability, and idempotency.
Method Safe Idempotent Cacheable
GET Yes Yes Yes
HEAD Yes Yes Yes
OPTIONS Yes Yes No
TRACE Yes Yes No
PUT No Yes No
DELETE No Yes No
POST No No Conditional*
PATCH No No Conditional*
CONNECT No No No
* POST and PATCH are cacheable when responses explicitly include freshness information and a matching Content-Location header.

Specifications

Specification
HTTP Semantics
# DELETE​ (external)
HTTP Semantics
# OPTIONS​ (external)
HTTP Semantics
# HEAD​ (external)
HTTP Semantics
# GET​ (external)
HTTP Semantics
# POST​ (external)
HTTP Semantics
# PUT​ (external)
HTTP Semantics
# CONNECT​ (external)

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
CONNECT
DELETE
GET
HEAD
OPTIONS
POST
PUT

Legend

Tip: you can click/tap on a cell for more information.
Full support Full support

See also

Help improve MDN

Learn how to contribute
This page was last modified on by MDN contributors.
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%