404 Not Found hardly needs an introduction. It’s by far the most seen
status by developers and non-developers alike.
404 is emitted when a
resource doesn’t exist, never existed or if the server doesn’t want a client
to know that a resource exist.
If the server knows the resource doesn’t and will never exist again,
410 Gone might be more appropriate.
404 response is incorrectly used as a successful response to
DELETE request. The logic behind this is that the resource no longer
exists after deleting, so the server should report this state.
However, this is technically wrong. Any response in the 400-499 series always
means that there was a (client) error. Even successful
DELETE requests should
200 Ok or
204 No Content response.
HTTP/1.1 404 Not Found Content-Type: text/html <h1>404 Not found</h1>
- RFC7231, Section 6.5.4 - 404 Not Found