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:
    - You are choosing a method for an API operation.
    - You need to know whether a request can be retried safely.
  caveats:
    - 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:
    - 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:
    - title: IETF HTTP semantics
      url: "https://httpwg.org/specs/rfc9110.html"
  reading:
    - 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:
    - section: methods
      field: method
      type: string
      example: GET
    - section: methods
      field: safety
      type: string
      example: Safe
    - section: methods
      field: idempotent
      type: boolean
      example: "true"
    - section: methods
      field: body
      type: string
      example: No generally defined semantics
    - section: methods
      field: purpose
      type: string
      example: Retrieve a resource
data:
  methods:
    - method: GET
      safety: Safe
      idempotent: true
      body: No generally defined semantics
      purpose: Retrieve a resource
    - method: POST
      safety: Unsafe
      idempotent: false
      body: "Yes"
      purpose: Process the enclosed representation according to the target resource; creation is one use
    - method: PUT
      safety: Unsafe
      idempotent: true
      body: "Yes"
      purpose: Replace a resource
    - method: PATCH
      safety: Unsafe
      idempotent: false
      body: "Yes"
      purpose: Partially modify a resource
    - method: DELETE
      safety: Unsafe
      idempotent: true
      body: No generally defined semantics
      purpose: Delete a resource
    - method: HEAD
      safety: Safe
      idempotent: true
      body: No generally defined semantics
      purpose: GET without response body
    - method: OPTIONS
      safety: Safe
      idempotent: true
      body: "No"
      purpose: Describe communication options
    - method: TRACE
      safety: Safe
      idempotent: true
      body: "No"
      purpose: Echo request for diagnostic
    - method: CONNECT
      safety: Unsafe
      idempotent: false
      body: No generally defined semantics
      purpose: Establish a tunnel to the target, used by proxies for HTTPS
