httpcode: what the hell is code 418? What, a teapot???

Httpcode is a simple tool to explain the meaning of HTTP status codes

Posted September 05th, 2012 in tool

This is a neat tool that comes handy when you get exotic HTTP statut codes like the 418 one (teapots are bad guys, beware!).

It's opensource (fork it on GitHub) and you can install it easily with pip:

$ pip install httpcode

And this is the list of codes known to the tool.

Status code 100
Message: Continue
Code explanation: Request received, please continue
Status code 101
Message: Switching Protocols
Code explanation: Switching to new protocol; obey Upgrade header
Status code 200
Message: OK
Code explanation: Request fulfilled, document follows
Status code 201
Message: Created
Code explanation: Document created, URL follows
Status code 202
Message: Accepted
Code explanation: Request accepted, processing continues off-line
Status code 203
Message: Non-Authoritative Information
Code explanation: Request fulfilled from cache
Status code 204
Message: No Content
Code explanation: Request fulfilled, nothing follows
Status code 205
Message: Reset Content
Code explanation: Clear input form for further input.
Status code 206
Message: Partial Content
Code explanation: Partial content follows.
Status code 300
Message: Multiple Choices
Code explanation: Object has several resources -- see URI list
Status code 301
Message: Moved Permanently
Code explanation: Object moved permanently -- see URI list
Status code 302
Message: Found
Code explanation: Object moved temporarily -- see URI list
Status code 303
Message: See Other
Code explanation: Object moved -- see Method and URL list
Status code 304
Message: Not Modified
Code explanation: Document has not changed since given time
Status code 305
Message: Use Proxy
Code explanation: You must use proxy specified in Location to access this resource.
Status code 307
Message: Temporary Redirect
Code explanation: Object moved temporarily -- see URI list
Status code 400
Message: Bad Request
Code explanation: Bad request syntax or unsupported method
Status code 401
Message: Unauthorized
Code explanation: No permission -- see authorization schemes
Status code 402
Message: Payment Required
Code explanation: No payment -- see charging schemes
Status code 403
Message: Forbidden
Code explanation: Request forbidden -- authorization will not help
Status code 404
Message: Not Found
Code explanation: Nothing matches the given URI
Status code 405
Message: Method Not Allowed
Code explanation: Specified method is invalid for this resource.
Status code 406
Message: Not Acceptable
Code explanation: URI not available in preferred format.
Status code 407
Message: Proxy Authentication Required
Code explanation: You must authenticate with this proxy before proceeding.
Status code 408
Message: Request Timeout
Code explanation: Request timed out; try again later.
Status code 409
Message: Conflict
Code explanation: Request conflict.
Status code 410
Message: Gone
Code explanation: URI no longer exists and has been permanently removed.
Status code 411
Message: Length Required
Code explanation: Client must specify Content-Length.
Status code 412
Message: Precondition Failed
Code explanation: Precondition in headers is false.
Status code 413
Message: Request Entity Too Large
Code explanation: Entity is too large.
Status code 414
Message: Request-URI Too Long
Code explanation: URI is too long.
Status code 415
Message: Unsupported Media Type
Code explanation: Entity body in unsupported format.
Status code 416
Message: Requested Range Not Satisfiable
Code explanation: Cannot satisfy request range.
Status code 417
Message: Expectation Failed
Code explanation: Expect condition could not be satisfied.
Status code 418
Message: I'm a teapot
Code explanation: The HTCPCP server is a teapot
Status code 500
Message: Internal Server Error
Code explanation: Server got itself in trouble
Status code 501
Message: Not Implemented
Code explanation: Server does not support this operation
Status code 502
Message: Bad Gateway
Code explanation: Invalid responses from another server/proxy.
Status code 503
Message: Service Unavailable
Code explanation: The server cannot process the request due to a high load
Status code 504
Message: Gateway Timeout
Code explanation: The gateway server did not receive a timely response
Status code 505
Message: HTTP Version Not Supported
Code explanation: Cannot fulfill request.

If you are curious about the 418 code, there is an explanation on Quora. Do not expect to find any sense in it though...