من قبل
Zaid Rabab'a , Software Development Team Leader , Al-Safa Co. Ltd.
Every code is acceptable in some circumstances, but indicate a problem in other circumstances.
Take 404. It may indicate:
that a link on your website is broken (which is actually a problem you may want to fix),
that the client is trying deliberately to break the website (which is a problem too, but should be included in security reports instead),
that somewhere, some website has a broken link or that a person misspelled an address (which doesn't matter, since you can't do anything with it),
or that the page is not intended to exist (which is an expected situation and should not worry anybody). Example: /wpad.dat.
Take 200. It may indicate:
a success,
or that your security system is not working any longer, and is not forbidding the access to some very confidential web page to guests (the only acceptable response being 401 Unauthorized).
If you want to report problems to developers, do it the right way: through logging and exception handling, not through something which was never intended for that, like HTTP status codes.
the HTTP status codes are classified as:
1xx: Information
2xx: OK
3xx: Redirections
4xx: Client side error
5xx: Server side error
4xx, and 5xx are consider not an OK responce, these indicates an error in the request it self(4xx) or the server process of that request (5xx).