Bird
Raised Fist0
Rest APIprogramming~5 mins

Why status codes communicate outcomes in Rest API - Performance Analysis

Choose your learning style10 modes available
Time Complexity: Why status codes communicate outcomes
O(1)
Understanding Time Complexity

When a REST API sends a status code, it tells us what happened with the request.

We want to understand how the time to process and send these codes changes as the size of the request grows.

Scenario Under Consideration

Analyze the time complexity of this simple REST API response code snippet.

def handle_request(request):
    if request.is_valid():
        return 200  # OK
    else:
        return 400  # Bad Request

This code checks if a request is valid and returns a status code accordingly.

Identify Repeating Operations

Look for loops or repeated checks in the code.

  • Primary operation: Single validation check on the request.
  • How many times: Exactly once per request.
How Execution Grows With Input

The time to check and return a status code stays about the same no matter the size of the request.

Input Size (n)Approx. Operations
101 check and return
1001 check and return
10001 check and return

Pattern observation: Each request is handled independently with a fixed number of steps.

Final Time Complexity

Time Complexity: O(1)

This means the time to decide and send a status code does not grow with the size of the request.

Common Mistake

[X] Wrong: "Returning a status code takes longer if the request is bigger."

[OK] Correct: The status code is just a short message sent after a quick check, so its time does not depend on request size.

Interview Connect

Understanding how status codes work and their time cost helps you explain API behavior clearly and confidently.

Self-Check

"What if the validation involved checking every item in a large list inside the request? How would the time complexity change?"

Practice

(1/5)
1. What is the main purpose of HTTP status codes in REST APIs?
easy
A. To style the webpage content
B. To communicate the outcome of a server request
C. To store user data on the server
D. To encrypt the data sent between client and server

Solution

  1. Step 1: Understand the role of status codes

    Status codes are 3-digit numbers sent by the server to tell the client if the request was successful or if there was an error.
  2. Step 2: Identify the correct purpose

    They do not style content, store data, or encrypt data; their main job is to communicate the outcome of the request.
  3. Final Answer:

    To communicate the outcome of a server request -> Option B
  4. Quick Check:

    Status codes = communicate outcome [OK]
Hint: Status codes show if request worked or failed [OK]
Common Mistakes:
  • Thinking status codes style pages
  • Confusing status codes with data storage
  • Assuming status codes encrypt data
2. Which of the following is the correct syntax to send a 404 status code in a REST API response?
easy
A. response.status(404).send('Not Found')
B. response.code(404).send('Not Found')
C. response.sendStatus(200)
D. response.statusCode(500).send('Error')

Solution

  1. Step 1: Recall correct method to set status code

    In many REST frameworks, the method to set status code is status(), not code() or statusCode().
  2. Step 2: Match status code and message

    404 means 'Not Found', so response.status(404).send('Not Found') is correct syntax.
  3. Final Answer:

    response.status(404).send('Not Found') -> Option A
  4. Quick Check:

    Use status() to set code [OK]
Hint: Use response.status(code) to set HTTP status [OK]
Common Mistakes:
  • Using response.code() instead of response.status()
  • Sending wrong status code for error
  • Mixing status code and message methods
3. Consider this code snippet in a REST API handler:
if (userFound) {
  res.status(200).json({ message: 'User found' });
} else {
  res.status(404).json({ error: 'User not found' });
}

What will be the HTTP status code if the user is not found?
medium
A. 500
B. 200
C. 404
D. 400

Solution

  1. Step 1: Analyze the condition when user is not found

    If userFound is false, the else block runs, sending status 404.
  2. Step 2: Identify the status code sent in else block

    The else block uses res.status(404), which means 'Not Found'.
  3. Final Answer:

    404 -> Option C
  4. Quick Check:

    User missing = 404 status [OK]
Hint: 404 means resource not found [OK]
Common Mistakes:
  • Confusing 404 with 200 success
  • Assuming 500 server error instead
  • Mixing 400 bad request with 404
4. This REST API code tries to send a 201 status but has a bug:
res.sendStatus(201).json({ message: 'Created' });

What is the error and how to fix it?
medium
A. Change 201 to 200 to fix the bug
B. Use res.send(201).json(...) to fix it
C. No error; code works fine
D. sendStatus ends response; use res.status(201).json(...) instead

Solution

  1. Step 1: Understand sendStatus behavior

    sendStatus(201) sends the status and ends the response immediately, so chaining .json() after it causes an error.
  2. Step 2: Correct way to send status with JSON

    Use res.status(201).json(...) to set status and send JSON in one response.
  3. Final Answer:

    sendStatus ends response; use res.status(201).json(...) instead -> Option D
  4. Quick Check:

    sendStatus ends response; use status() + json() [OK]
Hint: sendStatus ends response; use status() before json() [OK]
Common Mistakes:
  • Chaining json() after sendStatus()
  • Using send(201) instead of status(201)
  • Changing status code instead of fixing method
5. You want your REST API to return a 204 status code when a DELETE request succeeds but with no content in the response body. Which code snippet correctly implements this?
hard
A. res.status(204).send();
B. res.status(204).json({ message: 'Deleted' });
C. res.sendStatus(204).json({ message: 'Deleted' });
D. res.status(200).send('Deleted');

Solution

  1. Step 1: Understand 204 status meaning

    204 means 'No Content', so the response must not include a body.
  2. Step 2: Choose code that sends 204 with no body

    res.status(204).send(); sends status 204 with empty body, which is correct. Sending JSON or message body breaks 204 rules.
  3. Final Answer:

    res.status(204).send(); -> Option A
  4. Quick Check:

    204 = no content, so send empty response [OK]
Hint: 204 means no content; send empty response [OK]
Common Mistakes:
  • Sending JSON body with 204 status
  • Using 200 instead of 204 for delete success
  • Chaining json() after sendStatus(204)
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