Overview & Scope
HTTP methods indicate the desired action to be performed for a given resource. Standardized in RFC 9110, method semantics govern whether requests can be cached, safely retried on network dropouts, or pre-fetched by browser spec engines.
Specification Table & Matrix
Instant client-side filter by keyword, status code, or directive name
| Key / Code | Definition & Details | GEO Semantic Hierarchy | Spec & Notes |
|---|---|---|---|
| GET | GET Requests transfer of a current selected representation for the target resource. GET /api/v1/articles/42 HTTP/1.1 | ●HTTP GET ↳HTTP method ↳safe and idempotent ↳read-only resource retrieval | RFC 9110 §9.3.1 Safe, Idempotent, Cacheable. Must NOT alter server state or contain request bodies. |
| POST | POST Requests that the target resource process the representation enclosed in the request body. POST /api/v1/articles HTTP/1.1
Content-Type: application/json | ●HTTP POST ↳HTTP method ↳unsafe and non-idempotent ↳subordinate creation or processing | RFC 9110 §9.3.3 Unsafe, Non-Idempotent. Common for creating sub-resources or executing transactions. |
| PUT | PUT Requests that the target resource be created or completely replaced with the request body. PUT /api/v1/articles/42 HTTP/1.1 | ●HTTP PUT ↳HTTP method ↳unsafe but idempotent ↳complete resource replacement | RFC 9110 §9.3.4 Unsafe, Idempotent. Replaces the full document; omit a field and it will be wiped. |
| PATCH | PATCH Requests that a set of changes described in the request entity be applied to the target resource. PATCH /api/v1/articles/42 HTTP/1.1
{"title": "Updated Title"} | ●HTTP PATCH ↳HTTP method ↳unsafe and non-idempotent ↳partial resource mutation | RFC 5789 §2 Unsafe, Non-Idempotent. Modifies only the specified fields, conserving bandwidth. |
| DELETE | DELETE Requests that the origin server remove the association between the target resource and its URI. DELETE /api/v1/articles/42 HTTP/1.1 | ●HTTP DELETE ↳HTTP method ↳unsafe but idempotent ↳resource destruction | RFC 9110 §9.3.5 Unsafe, Idempotent. Deleting an already deleted resource still results in the resource being deleted. |
| HEAD | HEAD Identical to GET except that the server MUST NOT send a message body in the response. HEAD /large-file.iso HTTP/1.1 | ●HTTP HEAD ↳HTTP method ↳safe and idempotent ↳metadata header verification | RFC 9110 §9.3.2 Safe, Idempotent, Cacheable. Used to check Content-Length, ETag, or last modified date without downloading files. |
| OPTIONS | OPTIONS Requests information about the communication options available for the target resource. OPTIONS /api/v1/data HTTP/1.1
Origin: https://app.example.com | ●HTTP OPTIONS ↳HTTP method ↳safe and idempotent ↳CORS preflight capability probe | RFC 9110 §9.3.7 Safe, Idempotent. Utilized by browsers for CORS preflight probes before sending cross-origin requests. |
| CONNECT | CONNECT Establishes a transparent bidirectional tunnel to the destination server (used for HTTPS over HTTP proxy). CONNECT example.com:443 HTTP/1.1 | ●HTTP CONNECT ↳HTTP method ↳specialized tunnel ↳TCP proxy handshake | RFC 9110 §9.3.6 Not idempotent. Allows proxy clients to tunnel TLS encrypted streams through plain HTTP proxies. |
| TRACE | TRACE Performs a message loop-back test along the path to the target resource. TRACE / HTTP/1.1 | ●HTTP TRACE ↳HTTP method ↳safe diagnostic ↳diagnostic loopback reflection | RFC 9110 §9.3.8 Safe, Idempotent. Disabled in almost all modern production servers due to Cross-Site Tracing (XST) attack risks. |
PUT vs PATCH Semantic Distinction in REST APIs
// 1. PUT replaces the ENTIRE object.
// If you send only { age: 30 }, all other fields are wiped or reset!
await fetch('/api/users/10', {
method: 'PUT',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ name: 'Alex', email: 'alex@example.com', age: 30 }),
});
// 2. PATCH modifies ONLY the specified keys.
// name and email remain completely untouched!
await fetch('/api/users/10', {
method: 'PATCH',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ age: 31 }),
});PUT requires delivering the complete resource representation. PATCH updates partial fields delta-style.
Reference Standards Q&A
What does "Idempotent" mean in HTTP?↓
Can a GET request have a body?↓
References & Primary Sources
Every source below directly substantiates technical statements and protocol behaviors explained in HTTP Methods Reference. Curious-Techie prioritizes official Internet standards (IETF RFCs, W3C Recommendations, WHATWG specifications) and established security bodies (OWASP, NIST). Zero sponsored or secondary links.
- [1]IETFPrimary SpecificationRFC 9110 • Core ArchitectureVerified Primary SourceTechnical Claim Supported:
Foundational specification for the stateless client-server request-response architecture, standard status codes (1xx–5xx), and method safety and idempotency.
Source URI: https://datatracker.ietf.org/doc/html/rfc9110 - [2]IETFPrimary SpecificationRFC 9112 • Section 3 & 6Verified Primary SourceTechnical Claim Supported:
Defines ASCII wire protocol framing, chunked transfer encoding, and persistent connection Keep-Alive mechanics.
Source URI: https://datatracker.ietf.org/doc/html/rfc9112 - [3]IETFPrimary SpecificationRFC 9113 • Section 4 & 5Verified Primary SourceTechnical Claim Supported:
Standardizes binary framing, HPACK header compression, and bi-directional stream multiplexing over a single shared TCP connection.
Source URI: https://datatracker.ietf.org/doc/html/rfc9113 - [4]IETFPrimary SpecificationRFC 9114 • Section 3 & 4Verified Primary SourceTechnical Claim Supported:
Eliminates TCP head-of-line blocking by mapping HTTP streams directly over QUIC UDP transport connections with integrated TLS 1.3 encryption.
Source URI: https://datatracker.ietf.org/doc/html/rfc9114
Related Technical Ecosystem & Next Steps
Related Developer Tools
Related Technical Guides
Related Technical Articles
What Is HTTP (Hypertext Transfer Protocol)?
Foundational stateless request-response protocol of the World Wide Web.
HTTP/1.1 vs HTTP/2: Multiplexing & Performance
Head-of-line blocking compared to binary framing and stream multiplexing.
Troubleshooting: HTTP 403 Forbidden Error
Diagnose server authorization denial, WAF IP blocks, and permission issues.
Related Questions
Why Is POST Non-Idempotent While PUT Is Idempotent?
Answer: PUT replaces or creates a specific resource deterministically, while POST processes input according to server logic, typically creating new items on repeated requests.
What Is the Difference Between ETag and Last-Modified?
Answer: Last-Modified relies on 1-second filesystem timestamps, while ETag provides an exact cryptographic digest of content, eliminating false positive cache misses.
Can HTTP/2 Multiplex Requests Over a Single TCP Connection?
Answer: Yes, HTTP/2 breaks requests into binary frames with stream IDs, allowing interleaved requests and responses concurrently over one TCP socket.
Hands-On Diagnostic Labs
Continue Learning
HTTP Protocol & Header Inspection Lab
Craft raw HTTP headers and observe conditional 304 responses in the interactive workbench.