Http status codes explained Categories: Network WebApi Funny way to finally remember all of these, the boring text version of http status codes you can find here. 1xx Informational 100 Continue 101 Switching Protocols 2xx Successful 200 OK : should be used to indicate a non-specific success 201 Created : must be used to indicate successful resource creation 202 Accepted : must be used to indicate a succesful start of an asynchronous action and should only be send by controllers 203 Non-Authoritative Information 204 No Content : should be used when the response body is intentionally empty 205 Reset Content 206 Partial Content 3xx Redirection 300 Multiple Choices 301 Moved Permanently : should be used to relocate resources 302 Found : should only redirect automatically when it was a get or head request 303 See Other : should be used to refer the client to a different uri, so sending a reference to a client without forcing it to download it's state 304 Not Modified : should be used to preserve bandwidth and the response body must be empty 305 Use Proxy 306 (Unused) 307 Temporary Redirect : should be used to tell clients to resubmit the request to another uri 308 Permanent Redirect : does not allow to change the method 4xx Client Error 400 Bad Request : may be used to indicate non-specific failure 401 Unauthorized : must be used when there is a problem with the clients credentials 402 Payment Required 403 Forbidden : should be used to forbid access regardless of authorization state, so for any requests outside the clients permitted scope 404 Not Found : must be used when a client uri cannnot be mapped to a resource 405 Method Not Allowed : must be used when the http method is not supported, for example using a PUT on a read-only resource (must include the allow header in response) 406 Not Acceptable : must be used when requested media type cannot be served (accept request header) 407 Proxy Authentication Required 408 Request Timeout 409 Conflict : should be used to indicate a violation of resource state, for example a client tries to delete a non empty store 410 Gone 411 Length Required 412 Precondition Failed 413 Request Entity Too Large 414 Request-URI Too Long 415 Unsupported Media Type : must be used when the media type of a requests payload cannot be processed (content type header) 416 Requested Range Not Satisfiable 417 Expectation Failed 418 I'm a teapot (RFC 2324) 419 Authentication Timeout 420 Enhance Your Calm (use 429 instead) 421 Bad mapping 422 Unprocessable Entity 423 Locked 424 Failed Dependency 425 Unordered Collection 426 Upgrade Required 427 Soap action required (in case your api is dirty) 428 Precondition Required (RFC 6585) 429 Too Many Requests (RFC 6585) 430 (not used ?? sometimes misused for 431) 431 Request Header Fields Too Large (RFC 6585) 5xx Server Error 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Timeout 505 HTTP Version Not Supported 5xx Server Error 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Timeout 505 HTTP Version Not Supported 520 Origin Error 521 Web server is down 522 Connection timed out 523 Proxy Declined Request 524 A timeout occured 7xx Developer Error 70x - Inexcusable 701 - Meh 702 - Emacs 703 - Explosion 704 - Goto Fail 705 - I wrote the code and missed the necessary validation by an oversight (see 795) 71x - Novelty Implementations 710 - PHP 711 - Convenience Store 712 - NoSQL 719 - I am not a teapot 72x - Edge Cases 720 - Unpossible 721 - Known Unknowns 722 - Unknown Unknowns 723 - Tricky 724 - This line should be unreachable 725 - It works on my machine 726 - It's a feature, not a bug 727 - 32 bits is plenty 73x - F*cking 731 - F*cking Rubygems 732 - F*cking Unic💩de 733 - F*cking Deadlocks 734 - F*cking Deferreds 735 - F*cking IE 736 - F*cking Race Conditions 737 - F*ckThreadsing 738 - F*cking Bundler 739 - F*cking Windows 74x - Meme Driven 740 - Computer says no 741 - Compiling 742 - A kitten dies 743 - I thought I knew regular expressions 744 - Y U NO write integration tests? 745 - I don't always test my code, but when I do I do it in production 746 - Missed Ballmer Peak 747 - Motherf*cking Snakes on the Motherf*cking Plane 748 - Confounded by Ponies 749 - Reserved for Chuck Norris 75x - Syntax Errors 750 - Didn't bother to compile it 753 - Syntax Error 754 - Too many semi-colons 755 - Not enough semi-colons 756 - Insufficiently polite 757 - Excessively polite 759 - Unexpected T_PAAMAYIM_NEKUDOTAYIM 76x - Substance-Affected Developer 761 - Hungover 762 - Stoned 763 - Under-Caffeinated 764 - Over-Caffeinated 765 - Railscamp 766 - Sober 767 - Drunk 768 - Accidentally Took Sleeping Pills Instead Of Migraine Pills During Crunch Week 769 - Questionable Maturity Level 77x - Predictable Problems 771 - Cached for too long 772 - Not cached long enough 773 - Not cached at all 774 - Why was this cached? 776 - Error on the Exception 777 - Coincidence 778 - Off By One Error 779 - Off By Too Many To Count Error 78x - Somebody Else's Problem 780 - Project owner not responding 781 - Operations 782 - QA 783 - It was a customer request, honestly 784 - Management, obviously 785 - TPS Cover Sheet not attached 786 - Try it now 787 - Further Funding Required 79x - Internet crashed 791 - The Internet shut down due to copyright restrictions. 792 - Climate change driven catastrophic weather event 793 - Zombie Apocalypse 794 - Someone let PG near a REPL 795 - #heartbleed (see 705) 797 - This is the last page of the Internet. Go back 799 - End of the world Still need more? http://www.w3.org/Protocols/ http://tools.ietf.org/html/rfc6585 Previous Post << >> Next Post