HTTP Methods Reference: GET, POST, PUT, DELETE and More
An HTTP method (or “verb”) tells the server what action a request wants to perform. The two properties in the table matter when designing APIs:
- Safe — doesn't change server state (read-only).
- Idempotent — repeating the request has the same effect as making it once.
Updated 2026-07-06
| Method | Purpose | Safe | Idempotent |
|---|---|---|---|
| GET | Retrieve a resource; should have no side effects | Yes | Yes |
| HEAD | Like GET but returns headers only, no body | Yes | Yes |
| POST | Create a resource or submit data for processing | No | No |
| PUT | Replace a resource entirely with the request body | No | Yes |
| PATCH | Apply a partial update to a resource | No | No |
| DELETE | Remove a resource | No | Yes |
| OPTIONS | Ask which methods/headers are allowed (CORS preflight) | Yes | Yes |
| CONNECT | Establish a tunnel to the server (used by proxies) | No | No |
| TRACE | Echo the received request (diagnostics; often disabled) | Yes | Yes |
Note the difference between PUT and PATCH: PUT replaces the whole resource (so sending it twice is idempotent), while PATCH applies a partial change (which may not be). Pair this with our status codes and headers references for the full picture of an HTTP request.
Related tools