Bird
Raised Fist0
Rest APIprogramming~5 mins

Why HTTP methods define intent in Rest API - Performance Analysis

Choose your learning style10 modes available
Time Complexity: Why HTTP methods define intent
O(n)
Understanding Time Complexity

When working with HTTP methods, it's important to understand how the server handles each request type.

We want to see how the server's work grows as requests increase, based on the method's intent.

Scenario Under Consideration

Analyze the time complexity of handling different HTTP methods in a REST API.


@app.route('/items', methods=['GET', 'POST', 'PUT', 'DELETE'])
def items():
    if request.method == 'GET':
        return get_all_items()
    elif request.method == 'POST':
        return create_item(request.data)
    elif request.method == 'PUT':
        return update_item(request.data)
    elif request.method == 'DELETE':
        return delete_item(request.data)
    

This code handles different HTTP methods to get, create, update, or delete items.

Identify Repeating Operations

Look at what repeats when the server processes requests.

  • Primary operation: Iterating over items for GET or searching for the item to update/delete.
  • How many times: Depends on the number of items stored (n).
How Execution Grows With Input

As the number of items grows, the server work changes depending on the method.

Input Size (n)Approx. Operations for GET
1010 operations (checking each item)
100100 operations
10001000 operations

For GET, work grows linearly with the number of items. For POST, work is usually constant since it adds one item. PUT and DELETE may also grow linearly if searching is needed.

Final Time Complexity

Time Complexity: O(n)

This means the server's work grows in direct proportion to the number of items when handling GET, PUT, or DELETE requests.

Common Mistake

[X] Wrong: "All HTTP methods take the same time regardless of data size."

[OK] Correct: Some methods like GET or DELETE may need to look through many items, so their time grows with data size.

Interview Connect

Understanding how HTTP methods affect server work helps you explain API design choices clearly and confidently.

Self-Check

"What if the server used an index to find items for PUT and DELETE? How would that change the time complexity?"

Practice

(1/5)
1. Which HTTP method is used to retrieve data from a server without changing it?
easy
A. GET
B. POST
C. DELETE
D. PUT

Solution

  1. Step 1: Understand the purpose of HTTP methods

    GET is designed to request data without modifying it, making it safe and idempotent.
  2. Step 2: Match method to action

    Since the question asks for retrieving data without changes, GET fits perfectly.
  3. Final Answer:

    GET -> Option A
  4. Quick Check:

    Retrieve data = GET [OK]
Hint: GET is for reading data, no changes made [OK]
Common Mistakes:
  • Confusing GET with POST
  • Thinking DELETE retrieves data
  • Using PUT to fetch data
2. Which of the following is the correct syntax to update a resource using HTTP methods?
easy
A. GET /resource/123
B. DELETE /resource/123
C. POST /resource/123
D. PUT /resource/123

Solution

  1. Step 1: Identify the method used for updating

    PUT is the HTTP method used to update or replace a resource at a specific URL.
  2. Step 2: Check the syntax correctness

    PUT /resource/123 correctly targets the resource with ID 123 for update.
  3. Final Answer:

    PUT /resource/123 -> Option D
  4. Quick Check:

    Update resource = PUT [OK]
Hint: PUT updates existing resources fully [OK]
Common Mistakes:
  • Using GET to update
  • POST is for creating, not updating
  • DELETE removes, not updates
3. What will be the expected result of this HTTP request?
POST /users
{
  "name": "Alice",
  "age": 30
}
medium
A. Create a new user named Alice
B. Delete user Alice
C. Update existing user Alice's age
D. Retrieve user data for Alice

Solution

  1. Step 1: Identify the HTTP method used

    POST is used to create new resources on the server.
  2. Step 2: Analyze the request body

    The JSON data contains user details, indicating creation of a new user named Alice.
  3. Final Answer:

    Create a new user named Alice -> Option A
  4. Quick Check:

    POST with data = Create new resource [OK]
Hint: POST adds new data, not fetch or delete [OK]
Common Mistakes:
  • Thinking POST retrieves data
  • Confusing POST with PUT for update
  • Assuming POST deletes data
4. You want to remove a user with ID 45 using an HTTP request, but the request POST /users/45 is not working. What is the correct method to use?
medium
A. GET
B. PUT
C. DELETE
D. PATCH

Solution

  1. Step 1: Understand the intent of the request

    The goal is to remove (delete) a user, so the method must express deletion.
  2. Step 2: Choose the HTTP method for deletion

    DELETE is the standard method to remove a resource identified by a URL.
  3. Final Answer:

    DELETE -> Option C
  4. Quick Check:

    Remove resource = DELETE [OK]
Hint: DELETE removes resources, POST does not [OK]
Common Mistakes:
  • Using POST to delete
  • Confusing PATCH with DELETE
  • Trying GET to remove data
5. You have an API where PATCH /profile/123 updates only the email field of a user profile, while PUT /profile/123 replaces the entire profile. Why is it important to choose PATCH over PUT when updating just one field?
hard
A. PATCH is faster because it sends less data
B. PUT can accidentally erase other fields if not included
C. PATCH creates a new profile instead of updating
D. PUT is only for deleting resources

Solution

  1. Step 1: Understand the difference between PUT and PATCH

    PUT replaces the entire resource, so missing fields get erased. PATCH updates only specified fields.
  2. Step 2: Analyze the risk of using PUT for partial updates

    If you use PUT but omit some fields, those fields may be removed unintentionally.
  3. Final Answer:

    PUT can accidentally erase other fields if not included -> Option B
  4. Quick Check:

    Partial update safe = PATCH, full replace risk = PUT [OK]
Hint: Use PATCH for partial updates to avoid data loss [OK]
Common Mistakes:
  • Thinking PATCH creates new resource
  • Believing PUT only deletes
  • Assuming PATCH sends no data
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard