The 404 Not Found status code means the server can't find the requested resource. It tells the client that the URL is valid but the resource is missing.
The JSON body usually contains an error message explaining the resource was not found. Option C clearly states this.
The route expects an integer parameter. If the client sends a string that cannot convert to int, the route won't match and Flask returns 404 automatically.
404 Not Found means the resource is not found but might come back later. 410 Gone means the resource was intentionally removed and will not return.
In Express.js, res.status(404).json(...) sets the status and sends JSON. Option D is correct. Option D sends JSON but not guaranteed. Option D is deprecated syntax. Option D sends status and ends response, so chaining json() fails.