Cheat Sheet #day10 - HTTP Methods

Cheat Sheet #day10 - HTTP Methods

HTTP Methods Cheat Sheet

HTTP methods define the action to be performed for a given resource in a web application. Here's a quick reference to the most commonly used HTTP methods and their typical use cases.

GET

  • Purpose: Retrieve data from a server.
  • Characteristics:
    • Request data is sent in the URL.
    • Should be idempotent (same request can be made multiple times without changing the result).
    • Safe operation (does not modify resources).
  • Example:
    GET /api/users HTTP/1.1
    Host: cloudtuned.com
    

POST

  • Purpose: Submit data to a server to create a new resource.
  • Characteristics:
    • Data is sent in the request body.
    • Not idempotent (submitting the same data multiple times may result in multiple resources being created).
  • Example:

    POST /api/users HTTP/1.1
    Host: cloudtuned.com
    Content-Type: application/json
    
    {
      "name": "John Doe",
      "email": "john.doe@cloudtuned.com"
    }
    

PUT

  • Purpose: Update an existing resource or create a new one if it does not exist.
  • Characteristics:
    • Data is sent in the request body.
    • Idempotent (multiple identical requests will result in the same resource state).
  • Example:

    PUT /api/users/1 HTTP/1.1
    Host: cloudtuned.com
    Content-Type: application/json
    
    {
      "name": "John Doe",
      "email": "john.doe@cloudtuned.com"
    }
    

PATCH

  • Purpose: Apply partial modifications to a resource.
  • Characteristics:
    • Data is sent in the request body.
    • Not necessarily idempotent.
  • Example:

    PATCH /api/users/1 HTTP/1.1
    Host: cloudtuned.com
    Content-Type: application/json
    
    {
      "email": "john.new@cloudtuned.com"
    }
    

DELETE

  • Purpose: Remove a resource from the server.
  • Characteristics:
    • Idempotent (multiple identical delete requests will have the same effect).
  • Example:
    DELETE /api/users/1 HTTP/1.1
    Host: cloudtuned.com
    

HEAD

  • Purpose: Retrieve the headers for a resource, without the response body.
  • Characteristics:
    • Used for checking what a GET request will return before making the actual request.
    • Idempotent and safe.
  • Example:
    HEAD /api/users HTTP/1.1
    Host: cloudtuned.com
    

OPTIONS

  • Purpose: Describe the communication options for the target resource.
  • Characteristics:
    • Used for CORS preflight requests.
    • Safe and idempotent.
  • Example:
    OPTIONS /api/users HTTP/1.1
    Host: cloudtuned.com
    

TRACE

  • Purpose: Perform a message loop-back test along the path to the target resource.
  • Characteristics:
    • Used mainly for diagnostic purposes.
    • Safe and idempotent.
  • Example:
    TRACE /api/users HTTP/1.1
    Host: cloudtuned.com
    

CONNECT

  • Purpose: Establish a tunnel to the server identified by the target resource.
  • Characteristics:
    • Used mainly for SSL tunneling.
  • Example:
    CONNECT cloudtuned.com:443 HTTP/1.1
    Host: cloudtuned.com
    

Summary

  • Safe Methods: GET, HEAD, OPTIONS, TRACE
  • Idempotent Methods: GET, PUT, DELETE, HEAD, OPTIONS, TRACE
  • Common Use Cases:
    • GET: Fetching data, reading resources.
    • POST: Creating new resources, submitting forms.
    • PUT: Updating or replacing resources.
    • PATCH: Partially updating resources.
    • DELETE: Removing resources.

Understanding these HTTP methods and their appropriate use cases is crucial for designing RESTful APIs and handling web requests effectively.

Did you find this article valuable?

Support Cloud Tuned by becoming a sponsor. Any amount is appreciated!