Status code 200 means "OK". It indicates that the request was successful and the server returned the requested data.
Click to reveal answer
beginner
When should you use status code 201 in a Node.js API?
Use status code 201 "Created" when a new resource has been successfully created, such as after a POST request that adds data.
Click to reveal answer
intermediate
What is the difference between status codes 400 and 404?
Status code 400 "Bad Request" means the client sent invalid data or malformed request. Status code 404 "Not Found" means the requested resource does not exist on the server.
Click to reveal answer
beginner
Why use status code 500 in your Node.js server responses?
Status code 500 "Internal Server Error" signals that something went wrong on the server side, like an unexpected error or exception.
Click to reveal answer
beginner
What status code should you use to indicate unauthorized access?
Use status code 401 "Unauthorized" when the client needs to authenticate or provide valid credentials to access the resource.
Click to reveal answer
Which status code indicates a successful GET request?
A200
B404
C500
D301
✗ Incorrect
200 means the request was successful and the server returned the data.
What status code should you return after successfully creating a new user?
A201
B404
C403
D400
✗ Incorrect
201 means a new resource was created successfully.
If a client sends a request with missing required fields, which status code fits best?
A200
B400
C401
D500
✗ Incorrect
400 means the request was bad or malformed.
Which status code means the requested page or resource was not found?
A401
B200
C201
D404
✗ Incorrect
404 means the resource does not exist on the server.
What status code should be used when the server encounters an unexpected error?
A301
B403
C500
D200
✗ Incorrect
500 indicates an internal server error.
Explain when and why you would use HTTP status codes 200, 201, 400, 401, 404, and 500 in a Node.js API.
Think about common client-server interactions and errors.
You got /6 concepts.
Describe how proper use of status codes improves communication between a client and a Node.js server.
Consider how a client reacts to different server responses.
You got /4 concepts.
Practice
(1/5)
1. What does the HTTP status code 200 generally indicate in a Node.js response?
easy
A. The client made a bad request with invalid syntax.
B. The request was successful and the server returned the requested data.
C. The requested resource was not found on the server.
D. The server encountered an internal error.
Solution
Step 1: Understand HTTP status codes
HTTP status codes communicate the result of a client's request to the server.
Step 2: Identify the meaning of 200
Status code 200 means the request succeeded and the server sent back the expected data.
Final Answer:
The request was successful and the server returned the requested data. -> Option B
Quick Check:
200 = Success [OK]
Hint: 200 means success, data sent back properly [OK]
Common Mistakes:
Confusing 200 with error codes like 400 or 500
Thinking 200 means resource not found
Mixing up client and server error codes
2. Which of the following is the correct way to set a 404 status code in a Node.js Express response?
easy
A. res.status(404).send('Not Found');
B. res.sendStatus(404, 'Not Found');
C. res.code(404).send('Not Found');
D. res.setStatus(404).send('Not Found');
Solution
Step 1: Recall Express response methods
Express uses res.status(code) to set status codes before sending a response.
Step 2: Check method correctness
res.status(404).send('Not Found'); correctly sets status 404 and sends the message.
Final Answer:
res.status(404).send('Not Found'); -> Option A
Quick Check:
Use res.status(code) to set status [OK]
Hint: Use res.status(code) before sending response [OK]
Common Mistakes:
Using non-existent methods like res.code or res.setStatus
Passing status code as second argument to send
Confusing sendStatus with status
3. Consider this Express code snippet:
app.get('/data', (req, res) => {
if (!req.query.id) {
return res.status(400).send('Missing id');
}
res.status(200).send('Data for ' + req.query.id);
});
What status code will the server respond with if the client calls /data without an id query parameter?
medium
A. 400
B. 404
C. 200
D. 500
Solution
Step 1: Analyze the condition for missing id
The code checks if req.query.id is missing and returns status 400 with message 'Missing id'.
Step 2: Determine response when id is missing
If id is absent, the server responds immediately with status 400 (bad request).
Final Answer:
400 -> Option A
Quick Check:
Missing required data = 400 [OK]
Hint: Missing required input usually means 400 Bad Request [OK]
C. The res.status(201) should come before the if block.
D. It sends two responses if name is missing, causing an error.
Solution
Step 1: Check response flow when name is missing
If !req.body.name is true, res.sendStatus(422) sends a response but code continues.
Step 2: Identify double response issue
After sending 422, the code still calls res.status(201).send('Created'), causing an error because response was already sent.
Final Answer:
It sends two responses if name is missing, causing an error. -> Option D
Quick Check:
Send response once per request [OK]
Hint: Return after sending response to avoid double sends [OK]
Common Mistakes:
Not returning after sending a response
Confusing 422 with invalid status code
Thinking order of status calls matters without return
5. You want to create an Express route that returns a JSON error with status 403 if the user is not authorized, and status 200 with data if authorized. Which code snippet correctly implements this pattern?
hard
A. app.get('/secret', (req, res) => {
if (!req.user) {
res.status(403).json({ error: 'Forbidden' });
}
res.status(200).json({ data: 'Secret info' });
});
B. app.get('/secret', (req, res) => {
if (!req.user) {
res.sendStatus(403);
} else {
res.sendStatus(200).json({ data: 'Secret info' });
}
});