api: YAML JSON TOON Database version: 1.0.0 format: json dataset: id: 12 slug: http-methods-reference title: HTTP Methods Reference description: "Standard HTTP request methods: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, TRACE with safety, idempotency, and body characteristics." summary: "The standard HTTP methods with their safety, idempotence, whether they carry a body and what they are for: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS and TRACE, plus CONNECT for proxy tunnels." use_when[2]: You are choosing a method for an API operation.,You need to know whether a request can be retried safely. caveats[3]: Safe and idempotent describe the semantics defined by the specification; a badly designed server can violate them.,POST is neither safe nor idempotent by definition; use an idempotency key if retries must be safe.,"A request body on GET, HEAD, or DELETE has no generally defined semantics. Do not infer universal support from a client library accepting one." related[5]: http-methods,http-status-codes-complete,http-status-code-best-practices,http-client-error-guide,http-request-retry-decisions category: HTTP Status Codes category_slug: http-status-codes tags: "http,methods,rest,web" view_count: 0 created_at: 1777673262 updated_at: 1791799373 sources[1]{title,url}: IETF HTTP semantics,"https://httpwg.org/specs/rfc9110.html" reading[1]: api-retries-with-backoff-and-idempotency reviewed_at: 2026-10-12 provenance: "Original editorial reference notes by YJTOON, informed by the linked primary documentation. External specifications retain their own licenses." entry_count: 9 fields[5]{section,field,type,example}: methods,method,string,GET methods,safety,string,Safe methods,idempotent,boolean,"true" methods,body,string,No generally defined semantics methods,purpose,string,Retrieve a resource data: methods[9]{method,safety,idempotent,body,purpose}: GET,Safe,true,No generally defined semantics,Retrieve a resource POST,Unsafe,false,Yes,Process the enclosed representation according to the target resource; creation is one use PUT,Unsafe,true,Yes,Replace a resource PATCH,Unsafe,false,Yes,Partially modify a resource DELETE,Unsafe,true,No generally defined semantics,Delete a resource HEAD,Safe,true,No generally defined semantics,GET without response body OPTIONS,Safe,true,No,Describe communication options TRACE,Safe,true,No,Echo request for diagnostic CONNECT,Unsafe,false,No generally defined semantics,"Establish a tunnel to the target, used by proxies for HTTPS"