200 OK and 201 Created in Rest API - Time & Space Complexity
When working with REST APIs, it is helpful to understand how the server handles requests and how long it takes to respond.
We want to see how the response time grows when the server sends back different status codes like 200 OK or 201 Created.
Analyze the time complexity of the following REST API response handling.
POST /items
Request body: {"name": "item1"}
// Server processes the request
if (item created successfully) {
return 201 Created with new item data
} else {
return 200 OK with existing item data
}
This code snippet shows how the server decides to respond with either 201 Created or 200 OK after processing a POST request.
Look for repeated steps or loops in the server processing.
- Primary operation: Checking if the item exists or creating a new item.
- How many times: Usually once per request, no loops involved.
The server handles each request individually, so the time depends mostly on the database check or insert.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | About 10 checks or inserts |
| 100 | About 100 checks or inserts |
| 1000 | About 1000 checks or inserts |
Pattern observation: The work grows linearly with the number of requests, but each request itself is handled in constant time.
Time Complexity: O(1)
This means each request is handled in constant time, regardless of the data size.
[X] Wrong: "The server takes longer to respond with 201 Created than 200 OK because it creates new data."
[OK] Correct: Both responses usually take similar time since creation and checking are simple operations done once per request.
Understanding how API responses work and their time cost helps you explain backend behavior clearly and confidently in interviews.
"What if the server had to check multiple related tables before responding? How would the time complexity change?"
Practice
200 OK indicate in a REST API response?Solution
Step 1: Understand the meaning of 200 OK
The status code 200 OK means the request was successful and the server is sending back the requested data or confirmation.Step 2: Compare with other codes
201 Created means a new resource was created, which is different from 200 OK.Final Answer:
The request was successful and the server is returning the requested data or confirmation. -> Option BQuick Check:
200 OK = Success with data [OK]
- Confusing 200 OK with 201 Created
- Thinking 200 means resource creation
- Mixing 200 with client or server error codes
Solution
Step 1: Identify the status code for resource creation
The status code 201 Created is used when a new resource is successfully created on the server.Step 2: Eliminate incorrect options
200 OK means success but not necessarily creation; 404 and 500 are error codes.Final Answer:
HTTP/1.1 201 Created -> Option AQuick Check:
201 Created = New resource created [OK]
- Using 200 OK instead of 201 for creation
- Confusing 404 Not Found as success
- Mixing error codes with success codes
HTTP/1.1 201 Created
Location: /users/123
{"id":123,"name":"Alice"}What does this response tell the client?
Solution
Step 1: Analyze the status code 201 Created
This code means a new resource was successfully created on the server.Step 2: Interpret the Location header and response body
The Location header shows where the new resource is located (/users/123), and the body contains the new user's data.Final Answer:
A new user resource was created with ID 123, and its location is provided. -> Option DQuick Check:
201 Created + Location header = New resource created [OK]
- Ignoring the Location header
- Thinking 201 means failure
- Confusing 201 with 200 OK
200 OK instead of 201 Created. What is the likely issue?Solution
Step 1: Understand the difference between 200 OK and 201 Created
200 OK means success but not necessarily resource creation; 201 Created explicitly means a new resource was created.Step 2: Analyze the server behavior
If the resource was created but 200 OK was returned, the server likely forgot to set the correct status code.Final Answer:
The server successfully created the resource but forgot to set the correct status code. -> Option CQuick Check:
201 Created must be set on resource creation [OK]
- Assuming 200 OK means creation
- Ignoring status code importance
- Confusing client errors with server response codes
Solution
Step 1: Identify the correct status code for resource creation
201 Created is the standard code to indicate a new resource was successfully created.Step 2: Use the Location header to provide the new resource URL
Including the Location header with the new post URL helps clients find the resource easily.Final Answer:
Return 201 Created with the Location header set to the new post URL and the post data in the body. -> Option AQuick Check:
201 Created + Location header = Best practice for new resource [OK]
- Returning 200 OK without Location header
- Using error codes for successful creation
- Not including the new resource URL
Ready to prove it?
Pass the test and this pattern moves unknown
